IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> fast-mock一个可快速生成测试类、Mock方法的工具,提升你50%的单测效率 -> 正文阅读

[开发测试]fast-mock一个可快速生成测试类、Mock方法的工具,提升你50%的单测效率

fast-mock是一个快速生成测试类、Mock方法的工具,它使写集成、单元测试这件事情,变得简单而有趣!

一方面,写单元测试本身比较繁琐,技术挑战不大,很多研发工程师不愿意去写;
另一方面,国内研发比较偏向“快、糙、猛” ,容易因为开发进度紧,导致单元测试的执行虎头蛇尾。
关键问题还是研发团队需要建立对单元测试正确的认知,渐进明细,逐步改进。

fast-mock可以解决繁琐的单测编写,提升工作效率,让研发工程师更专注业务的实现。
PS:团队前期没有单测的沉淀,可以先从整个接口的集成测试开始,逐步重构代码,往单测的方向靠近。

特点

  • 快速生成测试类: 生成一个包含设置Case名称、组装测试接口的参数、调用方法、断言的测试模板。
  • 自动识别生成Mock方法:根据测试接口自动识别需要Mock的方法,并且进行代码生成。
  • 自动构造入参、出参实体:根据入参、出参对象,自动进行数据构造。简单理解就是实例化对象,并进行set操作。
  • 灵活切换:支持同时Mock、查询数据库、Redis,RPC请求。

使用

1、引入mock依赖:

<properties>
    <testable.version>0.6.2</testable.version>
</properties>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>2.8.47</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>com.alibaba.testable</groupId>
    <artifactId>testable-all</artifactId>
    <version>${testable.version}</version>
    <scope>test</scope>
</dependency>

2、依赖插件:

<plugins>
   <plugin>
       <groupId>io.github.techthird</groupId>
       <artifactId>fast-mock-maven-plugin</artifactId>
       <version>1.0.5</version>
       <configuration>
           <!-- 待测试类的包名com.test.demo.service.provider,或者测试指定类文件xxxx.java) -->
           <testPackageName>com.test.demo.service.provider.ItemReadServiceImpl.java</testPackageName>
           <!-- 指定生成Test方法,多个方法以,号分隔,默认生成一个类中所有方法 -->
           <testMethods>method1,method2</testMethods>
       </configuration>
   </plugin>
   <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <version>2.22.2</version>
       <configuration>
           <argLine>-javaagent:${settings.localRepository}/com/alibaba/testable/testable-agent/${testable.version}/testable-agent-${testable.version}.jar</argLine>
           <skip>true</skip>
       </configuration>
   </plugin>
</plugins>

3、生成测试代码

在引入插件的项目模块下运行maven插件 fast-mock:test 命令

mvn fast-mock:test

默认生成测试代码存放目录:test/你的测试类包名

image

image

image

4、小提示

  • 重复生成:一个被测类重复生成,为了防止代码的覆盖,将采用方法对比后进行追加处理。将始终一个Test类、一个Mock类。
  • 尽量保证生成的测试、Mock方法唯一,对同名不同参数的方法支持不太友好。
  • BaseTestCase类的说明:该类定义了启动Spring应用程序所需的配置。默认配置如下:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class BaseTestCase {

}

开源项目地址

https://github.com/techthird/fast-mock-test

问题反馈

目前项目处于初始阶段,Bug肯定是无法避免的,团队试用下来,不是特别偏门的接口,都能成功生成。
如果您感兴趣或者有问题可加微信guiyong_chen沟通交流。 备注:fast-mock

感谢

1、一个堪称指哪打哪的Mock框架 https://github.com/alibaba/testable-mock
2、站在巨人的肩膀上,完成二次改造
https://github.com/chenhaoxiang/primo/tree/master/primo-generator-mock-test

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-21 12:42:27  更:2021-10-21 12:42:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:40:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码