日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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: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實戰

總結

以上是生活随笔為你收集整理的EvoSuite生成单元测试用例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。