测者的测试技术手册:自动化的自动化EvoSuite:Maven项目集成EvoSuite实战

举报
且听风吟 发表于 2019/10/11 16:54:58 2019/10/11
【摘要】 EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。前期准备本次所有内容的例子可以通过测者公众号后台,回复evo_mvn关键字获取下载地址解压到自己的工程目录,在 Tutorial_Maven的示例目录运行如下命令:如果运行ok,那么说明配置一切正...

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

前期准备

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

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

image.png

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


image.png

加入EvoSuite生成Junit的Cases

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


image.png

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


image.png

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

image.png

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

image.png

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

image.png

这有可能需要一段时间,如果电脑性能比较好,可以通过参数设置多并发的generate:

image.png

完成后,可以看到生成了一个.evosuite的目录,里面的best-test就是你需要的代码了。可以通过如下的命令,查看一下generate脚本的信息怎么样:

image.png

返回信息如下:


image.png

Maven项目的JUnit的测试cases一般都是放在src/test/java下,但是EvoSuite生成实在.evosuite下,那么通过如下命令就可以完成对应脚本的而移动了。

image.png

mvn test执行测试

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


image.png

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

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

image.png

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

src/test/evosuite

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

image.png

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

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

image.png

关注测者,关注测试

本文转载自异步社区。

原文链接:https://www.epubit.com/articleDetails?id=N613dba65-fcb9-4243-8c29-636573b24dc5


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。