一鍵自動生成 java junit 測試代碼神器 gen-test-plugin 入門介紹

gen-test-plugin

咱們平常編寫代碼的過程當中,常常須要爲代碼編寫測試案例。java

隨着對代碼質量的要求愈來愈高,不少公司開始經過代碼的測試覆蓋率做爲 QA 的一個評定指標。git

本框架能夠一鍵生成全部代碼對應的 junit 測試案例,爲你的人生節約寶貴的時間。github

特性

  • 支持生成 junit4/junit5框架

  • 支持 jdk7maven

  • 支持自定義生成模板

更新記錄

更新記錄ide

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 便可在項目 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 支持一下做者。

公衆號

更多技術文章,生活趣事,盡在【老馬嘯西風】。
老馬嘯西風

相關文章
相關標籤/搜索