當前位置:
首頁 >
EvoSuite生成单元测试用例
發布時間:2024/8/1
33
豆豆
生活随笔
收集整理的這篇文章主要介紹了
EvoSuite生成单元测试用例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 前言
- 2. maven 使用
- 3. Intellij IDEA 插件
- 參考
1. 前言
閑話少說,直接上干貨。
EvoSuite 官網:http://www.evosuite.org
開源代碼:https://github.com/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:generate5、查看生成的測試用例
根據命令指定的目錄下,即可生成測試用例代碼
@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實戰
總結
以上是生活随笔為你收集整理的EvoSuite生成单元测试用例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单元测试用例编写总结
- 下一篇: 2022.5.23-5.29 AI行业周