1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > EvoSuite生成单元测试用例

EvoSuite生成单元测试用例

时间:2018-07-07 05:51:42

相关推荐

EvoSuite生成单元测试用例

文章目录

1. 前言2. maven 使用3. Intellij IDEA 插件参考

1. 前言

闲话少说,直接上干货。

EvoSuite 官网:

开源代码:/chenlinghong/evosuite

2. maven 使用

1、引入 maven 插件

<plugin><groupId>org.evosuite.plugins</groupId><artifactId>evosuite-maven-plugin</artifactId><version>${evosuite.version}</version></plugin>

其中,evosuite.version 建议查询官网最新版本。

2、引入evosuite依赖

<dependency><groupId>org.evosuite</groupId><artifactId>evosuite-standalone-runtime</artifactId><version>${evosuite.version}</version><scope>test</scope></dependency>

3、编写测试方法

public String evosuite(int id, String name) {if (id == 0 && "name".equals(name)) {return "0#name";}if (id > 0) {name = "name 1";} else {name = "name -1";}return "0#" + name;}

4、执行命令生成测试用例

mvn compile evosuite:generate -Dcores=4 -DmemoryInMB=8000 -DtimeInMinutesPerClass=3 -DspawnManagerPort=63040 -Dcuts=club.chenlinghong.dem.evosuite.EvosuiteDemo evosuite:export -DtargetFolder=src/test/java/evo

主要参数说明:

evosuite:generate 生成测试用例,默认路径为根目录下 .evosuite 文件夹下 best-tests

cores: 分配 CPU 核数,可以理解为任务进程数

memoryInMB: 分配内存空间

cuts: 需要生成单元测试的源代码,不填默认整个项目

evosuite:export 导出文件

targetFolder 目标路径

如果是生成整个项目测试用例代码,直接运行:

mvn evosuite:generate

5、查看生成的测试用例

根据命令指定的目录下,即可生成测试用例代码

@RunWith(EvoRunner.class)@EvoRunnerParameters(mockJVMNonDeterminism = true, useVFS = true, useVNET = true, resetStaticState = true, separateClassLoader = true, useJEE = true) public class EvosuiteDemo_ESTest extends club.chenlinghong.demo.evosuite.EvosuiteDemo_ESTest_scaffolding {@Test(timeout = 4000)public void test0() throws Throwable {EvosuiteDemo evosuiteDemo0 = new EvosuiteDemo();String string0 = evosuiteDemo0.evosuite((-803), "");assertEquals("0#name -1", string0);}@Test(timeout = 4000)public void test1() throws Throwable {EvosuiteDemo evosuiteDemo0 = new EvosuiteDemo();String string0 = evosuiteDemo0.evosuite(0, "oame");assertEquals("0#name -1", string0);}@Test(timeout = 4000)public void test2() throws Throwable {EvosuiteDemo evosuiteDemo0 = new EvosuiteDemo();String string0 = evosuiteDemo0.evosuite(0, "name");assertEquals("0#name", string0);}@Test(timeout = 4000)public void test3() throws Throwable {EvosuiteDemo evosuiteDemo0 = new EvosuiteDemo();String string0 = evosuiteDemo0.evosuite(343, "0#name");assertEquals("0#name 1", string0);}}

可以看到,生成的测试用例代码满足 Junit 规范,并采用了 Mockito 框架进行 mock数据。

3. Intellij IDEA 插件

evosuite 支持 IDEA 插件直接生成测试用例代码

1、安装 EvoSuite Plugin

2、重启 IDEA

3、执行代码

找到任意一个 java 文件,然后右键,即可看到 Run EvoSuite

点击即可看到参数选项,配置上刚才所说的几个参数即可:

参考

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。