您好,登錄后才能下訂單哦!
我們?nèi)粘>帉懘a的過程中,經(jīng)常需要為代碼編寫測試案例。
隨著對代碼質(zhì)量的要求越來越高,很多公司開始通過代碼的測試覆蓋率作為 QA 的一個(gè)評(píng)定指標(biāo)。
本框架可以一鍵生成所有代碼對應(yīng)的 junit 測試案例,為你的人生節(jié)約寶貴的時(shí)間。
支持生成 junit4/junit5
支持 jdk7
更新記錄
用于生成 Junit4/Junit5 單元測試。
<plugin>
<groupId>com.github.houbb</groupId>
<artifactId>gen-test-plugin</artifactId>
<version>0.0.1</version>
</plugin>
屬性 | 說明 | 默認(rèn)值 | 類型 | 備注 |
---|---|---|---|---|
isOverwriteWhenExists | 如果 test 文件已存在,是否覆蓋 | false | 字符串 | 默認(rèn)不進(jìn)行覆蓋 |
encoding | 項(xiàng)目編碼 | utf-8 | 字符串 | |
includes | 包含文件正則 | **\/*.java | 字符串 | 默認(rèn)為所有 java 文件 |
excludes | 排除文件正則 | 字符串 | 默認(rèn)不進(jìn)行排除 | |
junitVersion | junit 版本 | 4 | 字符串 | 默認(rèn)為 junit4 |
命令行直接執(zhí)行
mvn com.github.houbb:gen-test-plugin:0.0.1:gen-test
直接運(yùn)行【gen-test】插件下 gen-test
即可在項(xiàng)目 test 目錄下生成對應(yīng)的測試類。
比如項(xiàng)目有如下類:
public class HelloTestDemo {
public static String hello() {
return "hello";
}
}
則生成對應(yīng)測試文件:
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 項(xiàng)目 resources 文件夾下創(chuàng)建文件 junitTest5.ftl
,在下面的基礎(chǔ)上進(jìn)行修改。
上述的文件生成根據(jù)如下模板(Freemarker 語法) 生成
如果想自定義,可以在 maven 項(xiàng)目 resources 文件夾下創(chuàng)建文件 junitTest4.ftl
,在下面的基礎(chǔ)上進(jìn)行修改。
待生成的實(shí)體類信息。
${entry.packageName} 包名
${entry.className} 類名
entry.methodList 獲取所有的 非私有/非main() 方法列表。暫時(shí)未提供私有方法列表,后期可加。
當(dāng)前日期。后期考慮添加格式化配置。
方法的屬性
${method.signature} 方法的簽名
${method.name} 方法名稱
${method.comment} 方法注釋
${method.sourceCode} 方法體內(nèi)的代碼
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-自動(dòng)生成代碼文檔
data-factory-自動(dòng)根據(jù) class 生成測試對象
gen-test-plugin 已經(jīng)開源,你可以點(diǎn)擊鏈接學(xué)習(xí)相關(guān)源碼。
如果有對你幫助,可以給個(gè) star 支持一下作者。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。