回想平时我们测试,需要数据就在数据库一顿猛操作也没达到所谓的乱数假文,但是Faker很好的为我们解决了这个问题,伪造的数据接近真实数据。但是我们也不能每次都去一个一个数据的生成,这样会叠加代码量,工作量也增加了,于是写了一个工具类,将faker相关的方法以及方法需要的参数和参数类型存入了数据库中,前端只要配置好相对应的数据就能生成伪造数据
githup地址
技术点
泛型+反射
Faker
基本用法
用法为:Faker.**.**
Faker faker = Faker.instance(Locale.CHINA);//.instance(Locale.CHINA)指定为中文
废品回收小程序开发(fzb薇246性724),废品回收小程序开发详情,废品回收小程序开发案例,废品回收小程序开发源码。
内容忽视(详情+v)
//默认英语,如下:
//Faker faker = new Faker();
//生成数据(生成随机电话号码)
//faker.phoneNumber().phoneNumber();
System.err.println("生成的随机电话号码为:"+faker.phoneNumber().phoneNumber());
1
2
3
4
5
6
7
Faker支持多种语言,80+个基础方法,约500种假数据类型(480种左右,记不清楚了,写入数据库就知道了),详情请看githup地址
控制台输出结果
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
1
2
3
maven 依赖
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>javafaker</artifactId>
<version>1.0.2</version>
</dependency>
1
2
3
4
5
数据库表结构
数据库字段以及字段类型由于是测试,可根据实际需求修改。
utilFaker,主要用于存入Faker一级二级方法(faker.phoneNumber().cellPhone())一级为phoneNumber()二级为cellPhone()
在这里插入图片描述
util_faker_parameterinfo主要是存入最终方法的参数以及参数类型
如faker.number().randomDouble(int maxNumberOfDecimals, int min, int max)三个int类型的参数,参数主要是设置默认参数
在这里插入图片描述
JAVA实现
MockItem参数类(包含调用的方法,参数以及输出时参数对应的key)
@Data
public class MockItem{
/**
* @ 名称对应的faker一级方法.二级方法(number.randomDigit)
*/
private String methodNames;
/**
* @ 生成数据调用方法对应的参数,前段传入的参数
*/
public List<MockItemParamters> inParameters;
/**
* @ 返回数据时的key
*/
private String key;
}
来源:oschina
链接:https://my.oschina.net/u/4607460/blog/4479036