咱们平常编写代码的过程当中,常常须要为代码编写测试案例。java
随着对代码质量的要求愈来愈高,不少公司开始经过代码的测试覆盖率做为 QA 的一个评定指标。git
本框架能够一键生成全部代码对应的 junit 测试案例,为你的人生节约宝贵的时间。github
支持生成 junit4/junit5框架
支持 jdk7maven
支持自定义生成模板单元测试
更新记录学习
用于生成 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 { } }
若是想自定义,能够在 maven 项目 resources 文件夹下建立文件 junitTest5.ftl
,在下面的基础上进行修改。
上述的文件生成根据以下模板(Freemarker 语法) 生成
若是想自定义,能够在 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 支持一下做者。