自动化的自动化EvoSuite:Maven项目集成EvoSuite实战

2018-11-26   出处:测者  作/译者:Black spider  

EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。

前期准备

本次所有内容的例子可以通过测者公众号后台,回复evo_mvn关键字获取下载地址

解压到自己的工程目录,在Tutorial_Maven的示例目录运行如下命令:

完成compile后代码中的classes的编译字节码放到target/classes目录下。在示例代码中 src/test/java目录下是有一些测试cases,可以通过如下命令运行一下:

如果运行ok,那么说明配置一切正常,就可以开始集成EvoSuite了。

加入EvoSuite生成Junit的Cases

要使用EvoSuite,就要在Maven工程的pom.xml文件中引入EvoSuite的插件如下(在<project>的子节点加入如下内容):

Maven自动的就会下载EvoSuite的相关依赖,如果加入后,出现错误,那么需要加入EvoSuite的Maven Respository。

完成后,通过如下命令进行一下evosuite的测试。

第一次使用EvoSuite插件,Maven会下来和EvoSuite相关的所有依赖,下载完成后,出现如下相似信息表示配置成功:

配置完成后,运行如下命令生成测试代码和mock数据:

mvn test执行测试

要想通过mvn test命令执行测试,还需要在pom的<dependencies></dependencies>内加入如下内容:

EvoSuite的脚本和RD的脚本分开存放

通过如下命令可以制定脚本的移动位置

或者,通过添加properites制定移动位置

src/test/evosuite

若果在项目中配置了脚本的移动目录,要再次使用mvn test就会报错,因此需要显示指出测试脚本的位置:

RD的Junit脚本和EvoSuite的脚本同时执

有时候,我们会同时执行两类脚本,一类是RD手写的代码,一类是EvoSuite自动生成的,进入同时测试并不会出现什么大问题,但是也会对测试结果有片面的影响,因此需要只能EvoSuite仅对其生成的脚本起作用,需要在pom中加入如下插件。


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
132°|1323 人阅读|0 条评论

登录 后发表评论
最新文章