一鍵自動生成 java junit 測試程式碼神器 gen-test-plugin 入門介紹
阿新 • • 發佈:2019-12-28
gen-test-plugin
我們日常編寫程式碼的過程中,經常需要為程式碼編寫測試案例。
隨著對程式碼質量的要求越來越高,很多公司開始通過程式碼的測試覆蓋率作為 QA 的一個評定指標。
本框架可以一鍵生成所有程式碼對應的 junit 測試案例,為你的人生節約寶貴的時間。
特性
支援生成 junit4/junit5
支援 jdk7
支援自定義生成模板
更新記錄
更新記錄
gen-test
用於生成 Junit4/Junit5 單元測試。
引入
<plugin> <groupId>com.github.houbb</groupId> <artifactId>gen-test-plugin</artifactId> <version>0.0.1</version> </plugin>
屬性說明
屬性 | 說明 | 預設值 | 型別 | 備註 |
---|---|---|---|---|
isOverwriteWhenExists | 如果 test 檔案已存在,是否覆蓋 | false | 字串 | 預設不進行覆蓋 |
encoding | 專案編碼 | utf-8 | 字串 | |
includes | 包含檔案正則 | **\/*.java |
字串 | 預設為所有 java 檔案 |
excludes | 排除檔案正則 | 字串 | 預設不進行排除 | |
junitVersion | junit 版本 | 4 | 字串 | 預設為 junit4 |
執行
命令列直接執行
mvn com.github.houbb:gen-test-plugin:0.0.1:gen-test
直接執行【gen-test】外掛下 gen-test
效果
比如專案有如下類:
public class HelloTestDemo {
public static String hello() {
return "hello";
}
}
則生成對應測試檔案:
package com.github.houbb.gen.maven.plugin.util; import org.junit.Test; /** * HelloTestDemo Tester. * * @author houbinbin * @since Tue Nov 14 16:01:53 CST 2017 * @version 1.0 */ public class HelloTestDemoTest { /** * * Method: hello() */ @Test public void helloTest() throws Exception { } }
junit5 模板
如果想自定義,可以在 maven 專案 resources 資料夾下建立檔案 junitTest5.ftl
,在下面的基礎上進行修改。
junit4 模板
上述的檔案生成根據如下模板(Freemarker 語法) 生成
如果想自定義,可以在 maven 專案 resources 資料夾下建立檔案 junitTest4.ftl
,在下面的基礎上進行修改。
- entry
待生成的實體類資訊。
${entry.packageName} 包名
${entry.className} 類名
entry.methodList 獲取所有的 非私有/非main() 方法列表。暫時未提供私有方法列表,後期可加。
- today
當前日期。後期考慮新增格式化配置。
- method
方法的屬性
${method.signature} 方法的簽名
${method.name} 方法名稱
${method.comment} 方法註釋
${method.sourceCode} 方法體內的程式碼
package ${entry.packageName};
import org.junit.Test;
/**
* ${entry.className} Tester.
*
* @author houbinbin
* @since ${today}
* @version 1.0
*/
public class ${entry.className}Test {
<#if entry.methodList??>
<#list entry.methodList as method>
/**
*
* Method: ${method.signature}
*/
@Test
public void ${method.name}Test() throws Exception {
}
</#list>
<#else>
</#if>
}
拓展閱讀
idoc-自動生成程式碼文件
data-factory-自動根據 class 生成測試物件
原始碼學習
gen-test-plugin 已經開源,你可以點選連結學習相關原始碼。
如果有對你幫助,可以給個 star 支援一下作者