乐趣区

自动生成 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- 正则表达式支持

退出移动版