测者的测试技术手册:自动化的自动化EvoSuite:Maven项目集成EvoSuite实战
EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。
前期准备
本次所有内容的例子可以通过测者公众号后台,回复evo_mvn关键字获取下载地址
解压到自己的工程目录,在 Tutorial_Maven
的示例目录运行如下命令:
如果运行ok,那么说明配置一切正常,就可以开始集成EvoSuite了。
加入EvoSuite生成Junit的Cases
要使用EvoSuite,就要在Maven工程的pom.xml文件中引入EvoSuite的插件如下(在 <project>
的子节点加入如下内容):
Maven自动的就会下载EvoSuite的相关依赖,如果加入后,出现错误,那么需要加入EvoSuite的Maven Respository。
完成后,通过如下命令进行一下evosuite的测试。
第一次使用EvoSuite插件,Maven会下来和EvoSuite相关的所有依赖,下载完成后,出现如下相似信息表示配置成功:
配置完成后,运行如下命令生成测试代码和mock数据:
这有可能需要一段时间,如果电脑性能比较好,可以通过参数设置多并发的generate:
完成后,可以看到生成了一个.evosuite的目录,里面的best-test就是你需要的代码了。可以通过如下的命令,查看一下generate脚本的信息怎么样:
返回信息如下:
Maven项目的JUnit的测试cases一般都是放在src/test/java下,但是EvoSuite生成实在.evosuite下,那么通过如下命令就可以完成对应脚本的而移动了。
mvn test执行测试
要想通过 mvn test
命令执行测试,还需要在pom的 <dependencies></dependencies>
内加入如下内容:
EvoSuite的脚本和RD的脚本分开存放
通过如下命令可以制定脚本的移动位置
或者,通过添加properites制定移动位置
src/test/evosuite
若果在项目中配置了脚本的移动目录,要再次使用mvn test就会报错,因此需要显示指出测试脚本的位置:
RD的Junit脚本和EvoSuite的脚本同时执
有时候,我们会同时执行两类脚本,一类是RD手写的代码,一类是EvoSuite自动生成的,进入同时测试并不会出现什么大问题,但是也会对测试结果有片面的影响,因此需要只能EvoSuite仅对其生成的脚本起作用,需要在pom中加入如下插件。
关注测者,关注测试
本文转载自异步社区。
原文链接:https://www.epubit.com/articleDetails?id=N613dba65-fcb9-4243-8c29-636573b24dc5
- 点赞
- 收藏
- 关注作者
评论(0)