咱們平常編寫代碼的過程當中,常常須要爲代碼編寫測試案例。java
隨着對代碼質量的要求愈來愈高,不少公司開始經過代碼的測試覆蓋率做爲 QA 的一個評定指標。git
本框架能夠一鍵生成全部代碼對應的 junit 測試案例,爲你的人生節約寶貴的時間。github
更新記錄
用於生成 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 |
命令行直接執行maven
mvn com.github.houbb:gen-test-plugin:0.0.1:gen-test
直接運行【gen-test】插件下 gen-test
便可在項目 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 { } }
若是想自定義,能夠在 maven 項目 resources 文件夾下建立文件 junitTest5.ftl
,在下面的基礎上進行修改。編碼
上述的文件生成根據以下模板(Freemarker 語法) 生成spa
若是想自定義,能夠在 maven 項目 resources 文件夾下建立文件 junitTest4.ftl
,在下面的基礎上進行修改。
待生成的實體類信息。
${entry.packageName} 包名
${entry.className} 類名
entry.methodList 獲取全部的 非私有/非main() 方法列表。暫時未提供私有方法列表,後期可加。
當前日期。後期考慮添加格式化配置。
方法的屬性
${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> }
data-factory-自動根據 class 生成測試對象
gen-test-plugin 已經開源,你能夠點擊連接學習相關源碼。
若是有對你幫助,能夠給個 star 支持一下做者。
更多技術文章,生活趣事,盡在【老馬嘯西風】。