單元測試maven專案內配置EvoSuite外掛來自動生成test suite
阿新 • • 發佈:2019-01-24
一、新增evosuite兩個外掛
<plugin> <groupId>org.evosuite.plugins</groupId> <artifactId>evosuite-maven-plugin</artifactId> <version>1.0.5</version> <executions> <execution> <goals> <goal>prepare</goal> </goals> <phase> process-test-classes </phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <systemPropertyVariables> <java.awt.headless>true</java.awt.headless> </systemPropertyVariables> <testFailureIgnore>true</testFailureIgnore> <skipTests>false</skipTests> <properties> <property> <name>listener</name> <value> org.evosuite.runtime.InitializingListener </value> </property> </properties> </configuration> </plugin>
因為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
二、生成test suite
然後用mvn -DmemorylnMB=2000 -Dcores=2 evosuite:generate evosuite:export test
命令 mvn evosuite:generate(單核情況)
【關於該命令的詳細資訊,通過mvn evosuite:help -Ddetail=true -Dgoal=generate檢視】
如果想加速生成test suite
mvn -Dcores=CPU核數 evosuite:generate【每核要求記憶體不小於500MB】
該過程需花費時間較長
三、執行test suite
新增:依賴
然後執行:mvn test
<dependency>
<groupId>org.evosuite</groupId>
<artifactId>evosuite-standalone-runtime</artifactId>
<version>1.0.5</version>
<scope>test</scope>
</dependency>