MockData API
【摘要】
JMockData 是一款国人开发用来生成模拟数据的工具
# 基础类型
描述类型基础类型byte boolean char short int long float double包装类型包装Byte Boolean Character Short Integer Long Float Double常用类型BigDecimal...
JMockData
是一款国人开发用来生成模拟数据的工具
# 基础类型
描述 | 类型 |
---|---|
基础类型 | byte boolean char short int long float double |
包装类型包装 | Byte Boolean Character Short Integer Long Float Double |
常用类型 | BigDecimal BigInteger Date LocalDateTime LocalDate LocalTime java.sql.Timestamp String Enum |
多维数组 | 以上所有类型的多维数组 如:int[] int[][] int[][][] .... etc. |
-
//基本类型模拟
-
int intNum = JMockData.mock(int.class);
-
int[] intArray = JMockData.mock(int[].class);
-
Integer integer = JMockData.mock(Integer.class);
-
Integer[] integerArray = JMockData.mock(Integer[].class);
-
//常用类型模拟
-
BigDecimal bigDecimal = JMockData.mock(BigDecimal.class);
-
BigInteger bigInteger = JMockData.mock(BigInteger.class);
-
Date date = JMockData.mock(Date.class);
-
String str = JMockData.mock(String.class);
1 2 3 4 5 6 7 8 9 10
# JAVA对象
模拟bean,被模拟的数据最好是plain bean,通过反射给属性赋值。
-
public class User {
-
-
private String name;
-
-
private int age;
-
-
private long cardId;
-
-
}
1 2 3 4 5 6 7 8 9
-
@Test
-
public void test() {
-
User mock = JMockData.mock(User.class);
-
// User{name='jrq2b', age=9338, cardId=2850}
-
System.out.println(mock);
-
}
1 2 3 4 5 6
# 容器类型
-
@Test
-
//******注意TypeReference要加{}才能模拟******
-
public void testTypeRefrence() {
-
//模拟基础类型,不建议使用这种方式,参考基础类型章节直接模拟。
-
Integer integerNum = JMockData.mock(new TypeReference<Integer>(){});
-
Integer[] integerArray = JMockData.mock(new TypeReference<Integer[]>(){});
-
//模拟集合
-
List<Integer> integerList = JMockData.mock(new TypeReference<List<Integer>>(){});
-
//模拟数组集合
-
List<Integer[]> integerArrayList = JMockData.mock(new TypeReference<List<Integer[]>>(){});
-
//模拟集合数组
-
List<Integer>[] integerListArray = JMockData.mock(new TypeReference<List<Integer>[]>(){});
-
//模拟集合实体
-
List<BasicBean> basicBeanList = JMockData.mock(new TypeReference<List<BasicBean>>(){});
-
//各种组合忽略。。。。map同理。下面模拟一个不知道什么类型的map
-
Map<List<Map<Integer, String[][]>>, Map<Set<String>, Double[]>> some = JMockData.mock(new TypeReference<Map<List<Map<Integer, String[][]>>, Map<Set<String>, Double[]>>>(){});
-
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 范围配置
前面说了可以模拟各种数据,不同类型的数据都允许指定一个范围。 如下
-
System.out.println(
-
JMockData.mock(Date.class,MockConfig.newInstance()
-
.dateRange("2018-11-20", "2018-11-30")));
1 2 3
-
MockConfig mockConfig = new MockConfig()
-
// 全局配置
-
.globalConfig()
-
.setEnabledStatic(false)
-
.setEnabledPrivate(false)
-
.setEnabledPublic(false)
-
.setEnabledProtected(false)
-
.sizeRange(1, 1)
-
.charSeed((char) 97, (char) 98)
-
.byteRange((byte) 0, Byte.MAX_VALUE)
-
.shortRange((short) 0, Short.MAX_VALUE)
-
// 某些字段(名等于integerNum的字段、包含float的字段、double开头的字段)配置
-
.subConfig("integerNum", "*float*", "double*")
-
.intRange(10, 11)
-
.floatRange(1.22f, 1.50f)
-
.doubleRange(1.50, 1.99)
-
.longRange(12, 13)
-
.dateRange("2018-11-20", "2018-11-30")
-
.stringSeed("SAVED", "REJECT", "APPROVED")
-
.sizeRange(1, 1)
-
// 全局配置
-
.globalConfig()
-
// 排除所有包含list/set/map字符的字段。表达式不区分大小写。
-
.excludes("*List*", "*Set*", "*Map*");
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
文章来源: springlearn.blog.csdn.net,作者:西魏陶渊明,版权归原作者所有,如需转载,请联系作者。
原文链接:springlearn.blog.csdn.net/article/details/125858101
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)