当前位置: 代码迷 >> 综合 >> 妙眠新零售开发(开发新零售)
  详细解决方案

妙眠新零售开发(开发新零售)

热度:46   发布时间:2024-02-08 08:12:32.0

回想平时我们测试,需要数据就在数据库一顿猛操作也没达到所谓的乱数假文,但是Faker很好的为我们解决了这个问题,伪造的数据接近真实数据。但是我们也不能每次都去一个一个数据的生成,这样会叠加代码量,工作量也增加了,于是写了一个工具类,将faker相关的方法以及方法需要的参数和参数类型存入了数据库中,前端只要配置好相对应的数据就能生成伪造数据
githup地址

技术点
泛型+反射

Faker
基本用法
用法为:Faker.**.**
Faker faker = Faker.instance(Locale.CHINA);//.instance(Locale.CHINA)指定为中文

(薇UBUB幸797)妙眠新零售系统开发,妙眠新零售模式,妙眠新零售app开发

内容忽视(详情+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;

  相关解决方案