一键自动生成 java junit 测试代码神器 gen-test-plugin 入门介绍

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 即可在项目 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 支持一下作者。

公众号

更多技术文章,生活趣事,尽在【老马啸西风】。

原文地址:https://blog.51cto.com/9250070/2462712

时间: 2024-08-10 10:56:59

一键自动生成 java junit 测试代码神器 gen-test-plugin 入门介绍的相关文章

Android AIDL自动生成Java文件测试

/******************************************************************************** * Android AIDL自动生成Java文件测试 * 说明: * 知道有aidl这东西已经挺久了,但是一直没有花时间来系统了解一下其工作机制,现在 * 花点时间一点一点验证一下其功能. * * 2016-5-8 深圳 南山平山村 曾剑锋 ***********************************************

Java Junit测试框架

Java    Junit测试框架 1.相关概念 ? JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. ? 白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的. ? 回归测试:软件或环境的修复或更正后的再测试,自动测试工具对这类测试尤其有用. ? 单元测试:最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设

mybatis怎样自动生成java类,配置文件?

其实没有什么东西是可以自动生成的,只不过是别人已经写好了,你调用罢了. 所以想要mybatis自动生成java类,配置文件等,就必须要一些配置和一些jar包.当然这些配置也很简单. 为了有个初步的认识,首先我列出了所需要的文件: 其中标红的比较重要.好了,让我们开始吧 1.首先需要在数据库建好表,随便建几个就好. 2.下载mybatis-generator-core包 下载地址:http://search.maven.org/ 然后搜索mybatis-generator-core下载即可 3.下

Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明文是yanzi1225627,得到MD5加密后的字符串是:14F2AE15259E2C276A095E7394DA0CA9  但不能由后面一大串倒推出yanzi1225627.因此可以用来存储用户输入的密码在服务器上.现在下载文件校验文件是否中途被篡改也是用的它,原理参见:http://blog.c

EF自动生成的模型edmx代码分析

edmx代码分析 本文分析Entity Framework从数据库自动生成的模型文件代码(扩展名为edmx). 1. 概述 本文使用的数据库结构尽量简单,只有2个表,一个用户表和一个分公司表(相当于部门表),一个用户必须属于一个分公司,因此用户表有一外键关联到分公司表.数据(实体)模型如图1. 图1  数据模型 2. 整体结构 以文本方式打开.edmx文件,可以看到这是一个xml文件,根结点下包括2部分内容,如图2所示. 图2  整个文档由2大部分组成 图2中,第一部分为<edmx:Runtim

自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程

项目简介 Data-Factory 用于根据对象,随机自动生成初始化信息,避免了手动创建对象的繁琐,便于测试. 特性 8 大基本类型的支持 String.Date.金额,日期等常见类型的支持 java8 常见时间类的支持 支持 String 和 Number 类型的注解定义 添加 @DataFactory 注解支持 支持 Regex 正则表达式 变更日志 变更日志 核心类讲解 DataUtil 工具类 提供线程安全的方法: /** * 构建结果 * @param clazz 类型 * @retu

mybatis自动生成java代码

SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

MyBatis Generator作为maven插件自动生成增删改查代码及配置文件例子

什么是MyBatis Generator MyBatis Generator (MBG) 是一个Mybatis的代码生成器,可以自动生成一些简单的CRUD(插入,查询,更新,删除)操作代码,model代码,及mapper配置文件: 如何配置MyBatis Generator 代码生成器(MBG)是由一个XML配置文件驱动,主要告诉MBG以下三件事 如何连接到数据库 生成什么对象,以及如何生成它们 那些表生成对象 具体如何配置,可以参考如下链接,已经有很详细的说明了: http://generat

使用google autoservice 自动生成java spi 描述文件

spi 是一种服务发现的标准,对于开发中我们通常需要编写 META-INF/services 文件夹中定义的类. google auto 中的autoservice 可以帮助我们生成对应的配置,很方便 环境准备 项目结构 ├── pom.xml └── src ├── main │ ├── java │ │ └── com │ │ └── dalong │ │ ├── spi │ │ │ └── TranslationService.java │ │ └── spimpl │ │ ├── Bin