Mock数据 – Java最好用的工具JMockData
2023-02-26 09:48:11 时间
本页目录
JMockData Github地址:https://github.com/jsonzou/jmockdata
JMockData使用步骤
添加Maven依赖
<dependency>
<groupId>com.github.jsonzou</groupId>
<artifactId>jmockdata</artifactId>
<version>4.3.0</version>
<scope>compile</scope>
</dependency>
随便弄一个实体类
@Data
public class CommonNameQuantityVO {
private String communityName;
private Integer processes;
private Date date;
}
JMockData构造数据
public static void main(String[] args) {
CommonNameQuantityVO mock = JMockData.mock(CommonNameQuantityVO.class);
System.out.println(mock);
}
输出测试结果
CommonNameQuantityVO(communityName=aPMCA, processes=2974, date=Fri Dec 24 16:37:38 CST 2060)
JMockData高级进阶
追加2个字段
private String QQEmail;
private String zhangsanPhone;
构造Mock数据时添加一个条件约束
public static void main(String[] args) {
MockConfig mockConfig = new MockConfig()
.subConfig("*ate") // 指定字段名(忽略大小写)以ate结尾的数据范围控制
.doubleRange(80.00, 100.00d) // double BigDecimal
.floatRange(0.00f, 100.00f) // float
.dateRange("2023-01-01", "2023-01-02")
.globalConfig()
// 手机号生成注意正则支持有限,不支持中文,
.subConfig(CommonNameQuantityVO.class, "*tel", "*phone")
.stringRegex("1[3]{1}[0-9]{2}[0-9]{8}")
.globalConfig()
// 指定某个对象的邮箱
.subConfig(CommonNameQuantityVO.class, "QQEmail")
//.stringRegex("[a-z0-9]{5,15}\\@\\w{3,5}\\.[a-z]{2,3}")
.stringRegex("[a-z0-9]{5,15}\\@\\w{3,5}\\.com")
.globalConfig()
// subConfig返回对象是 DataConfig 需要调用globalConfig()才能继续配置其他字段,如果没指定字段则以全局为准
.intRange(30, 60) // int范围
.decimalScale(2); // 保留2位小数点,默认是2位
CommonNameQuantityVO mock = JMockData.mock(CommonNameQuantityVO.class, mockConfig);
System.out.println(mock);
测试高级进阶输出
CommonNameQuantityVO(communityName=mDKGSS, processes=30, date=Sun Jan 01 10:38:31 CST 2023, QQEmail=x15d7devedomf@Jd1.com, zhangsanPhone=130975739346)
特殊说明: 以上文章,均是我实际操作,写出来的笔记资料,不会盗用别人文章!烦请各位,请勿直接盗用!转载记得标注来源!
相关文章
- java蛋糕店蛋糕商城蛋糕系统网站源码
- java字符串练习题1、反向输出字符串
- Java校园超市系统超市商城源码超市网站
- Java实验课预约系统网站源码
- 一文带你攻克JDK新特性
- 高并发场景中的集合总结
- 高并发场景中的Queue集合
- java企业人事管理系统企业工资考勤系统
- Java开发中常用的框架有哪些?
- Spring Security权限控制系列(五)
- Java Web中日志跟踪的简单实现
- 深入分析JVM执行引擎
- 谈谈你对Java线程5种状态流转原理的理解
- 别再乱打日志了,这份 Java 日志规范,应有尽有,建议收藏!
- 对于Java中的For循环和Foreach,哪个更快
- Spring中的事务传播行为有哪些?
- 大数据框架中的Java虚拟机优化
- 让我们一起聊一聊极简 Java 工作流
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性