前言
想要生成一些有些随机性的Javabean对象用来测试,又想让他们看上去像是真的?
想要一些大量的Javabean用来做测试,但是手动编写太累了?
想要用一套模板来定义一个Javabean的字段随机规则?
啥也不想,就进来看看?
如果你有以上想法或者需求,你可以试试一个叫做 Mock.java
的轻量级假数据生成框架,或者说工具。
github地址:https://github.com/ForteScarlet/Mock.java
gitee地址:https://gitee.com/ForteScarlet/Mock.java
废话不多说,下面我会先展示一个例子,然后再来做对这个项目介绍。
- 0 创建项目
我是使用 IntelliJ IDEA
写代码的,但是不管用什么,首先你需要创建一个maven项目,或者前去maven平台下载 Mock.java
的jar包,以下我会使用 maven
项目进行举例。
如果你选择下载jar包需要注意其内部依赖了
commons-beanutils-1.9.3
导入坐标:
<!-- https://mvnrepository.com/artifact/io.gitee.ForteScarlet/mock.java -->
<dependency>
<groupId>io.gitee.ForteScarlet</groupId>
<artifactId>mock.java</artifactId>
<version>1.5.2</version>
</dependency>
然后等待依赖下载完成,创建一个有main
方法的类准备进行测试。
- 0001 写个User
毕竟是假数据,你需要一个载体。这里我写一个简单的 User
类作为测试用载体。记得重写toString
方法哦!方便测试。
public class User {
private String name;
private Integer age;
private String email;
private String password;
// 以下省略掉 getter、 setter、 toString
}
先写一下看看效果。
public static void main(String[] args) {
System.out.println(new User());
}
执行结果:
User{name='null', age=null, email='null', password='null'}
好,一切正常。那么接下来,我想要:
name
是一个随机的中文名称。age
是一个18-80之间的随机数。email
是一个随机的163邮箱。password
是一个6-16位数的随机字符。
那么该怎么办呢?接着往下看吧~
- 0010 构建模板并使用
Mock.java
中,生成一个“假对象”需要一个模板,然后通过解析这个模板中的参数以得知规则。
那么根据我上面提到的规则,模板如下:
模板的载体是一个Map<String, Object>,且是可嵌套的。
// 准备模板载体
Map<String, Object> template = new HashMap