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

Posted 叶止水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程相关的知识,希望对你有一定的参考价值。

项目简介

Data-Factory 用于根据对象,随机自动生成初始化信息,避免了手动创建对象的繁琐,便于测试。

特性

  • 8 大基本类型的支持

  • String、Date、金额,日期等常见类型的支持

  • java8 常见时间类的支持

  • 支持 String 和 Number 类型的注解定义

  • 添加 @DataFactory 注解支持

  • 支持 Regex 正则表达式

变更日志

变更日志

核心类讲解

DataUtil 工具类

提供线程安全的方法:

/**
 * 构建结果
 * @param clazz 类型
 * @return 构建结果
 */
public static <T> T build(final Class<T> clazz) {
    IData data = getInstance();
    return (T) data.build(null, clazz);
}

/**
 * 构建结果
 * @param context 执行上下文
 * @param clazz 类型
 * @return 构建结果
 */
public static <T> T build(final IContext context, final Class<T> clazz) {
    IData data = getInstance();
    return (T) data.build(context, clazz);
}

快速开始

准备工作

JDK 1.8+

Maven 3.0+

如果是 idea,测试的时候 Enable Annotation Processing

maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>data-factory-core</artifactId>
    <version>0.0.3</version>
</dependency>

演示对象

一个用于演示的普通 java 对象。

public class User {

    private String name;

    private int age;

    private Date birthday;

    private List<String> stringList;

    //S/F 的枚举
    private StatusEnum statusEnum;

    private Map<String, String> map;
    
    //Getter & Setter
}

使用工具类

@Test
public void buildBeanBaseTest() throws Exception {
    User user = DataUtil.build(User.class);
    System.out.println(user);
}

输出信息如下:

User{name='wZ8CJZtK', age=-564106861, birthday=Wed Feb 27 22:14:34 CST 2019, stringList=[Du4iJkQj], statusEnum=S, map={yA5yDqM=Kdzi}}

内容每次都随机。便于基本的测试数据填充。

拓展阅读

DataFactory-01-注解支持

DataFactory-02-正则表达式支持

以上是关于自动生成 java 测试 mock 对象框架 DataFactory-01-入门使用教程的主要内容,如果未能解决你的问题,请参考以下文章

Mockito单元测试保姆级实战(一个java Mock测试框架)

java mock框架 —— Mcktio

接口自动化测试之Mock

JUnit + Mockito 单元测试

java的mock测试框架

怎么mockito方法的内部对象