maven项目内配置evosuite插件来自动生成test suite(用文档中例子说明)
1-构建maven项目,并进行编译
cd Tutorial_Maven
mvn compile
如果能正常运行 mvn test,说明项目编译成功
2-添加evosuite插件
<build> <plugins> <plugin> <groupId>org.evosuite.plugins</groupId> <artifactId>evosuite-maven-plugin</artifactId> <version>1.0.6</version> </plugin> </plugins> </build>
因为maven库中没有evosuite,所以需要添加evosuite库
<pluginRepositories> <pluginRepository> <id>EvoSuite</id> <name>EvoSuite Repository</name> <url>http://www.evosuite.org/m2</url> </pluginRepository></pluginRepositories>
运行
mvn evosuite:help会自动下载evosuite插件,并检测是否配置成功,若成功会显示BUILE SUCCESS
3-生成test suite
命令 mvn evosuite:generate(单核情况)
【关于该命令的详细信息,通过mvn evosuite:help -Ddetail=true -Dgoal=generate查看】
如果想加速生成test suite
mvn -Dcores=
CPU核数
evosuite:generate【每核要求内存不小于500MB】
该过程需花费时间较长
4-将生成的test suite整合到项目test源码树中:
mvn evosuite:export
如果不想转移到test文件中,可指定文件路径:
方式一:
mvn evosuite:export -DtargetFolder=src/test/evosuite
方式二:
<properties> <targetFolder>src/test/evosuite</targetFolder> </properties>
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.8</version> <executions> <execution> <id>add-test-source</id> <phase>generate-test-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <source>${targetFolder}</source> </sources> </configuration> </execution> </executions></plugin>
通过在pom中添加上述,可以将test suite生成到指定文件
5-运行test suite
添加:
<dependency> <groupId>org.evosuite</groupId> <artifactId>evosuite-standalone-runtime</artifactId> <version>1.0.6</version> <scope>test</scope></dependency>
然后运行:mvn test
成功时会显示,对各测试类的测试通过情况