Jmockdta是一款实现模拟JAVA类型或对象的实例化并随机初始化对象的数据的工具框架。单元测试的利器。
The plugin of Jmockdata what through random algorithm mock java data.
Jmockdata插件通过随机算法模拟Java数据.
支持丰富多样的数据类型模拟,包括:Java基本类型、字符串、枚举、日期、数组、多维数组、集合[List|Set|Map]、枚举、Java对象等
支持通过正则表达式反向模拟数据
支持泛型
支持继承
支持循环依赖、自依赖(手动开启enabledCircle)
支持忽略字段
支持改变mockConfig来自定义模拟数据策略
支持JDK1.7+
更新内容
修复若干bug
增加支持通过正则表达式模拟数据
/**
* 根据正则模拟数据
* 正则优先于其他规则
*/
@Test
public void testXegerMock() {
MockConfig mockConfig = new MockConfig()
// 随机段落字符串
.stringXeger("I'am a nice man//.And I'll just scribble the characters, like:([0-9a-zA-Z]{3,5} {1}[0-9a-zA-Z]{3,5}){10,20}")
// 邮箱 name@sit.com|sit.cn|sit.com.cn
.subConfig(XgerTestDataBean.class,"userEmail")
.stringXeger("[a-z0-9]{5,15}//@(qq|163|sina)//.(com|cn|com//.cn)")
// 用户名规则
.subConfig(XgerTestDataBean.class,"userName")
.stringXeger("[a-zA-Z_]{1}[a-z0-9_]{5,15}")
// 年龄1-99
.subConfig(XgerTestDataBean.class,"userAge")
.numberXeger("[1-9]{1}[0-9]?")
// 用户现金11 - 99.99
.subConfig(XgerTestDataBean.class,"userMoney")
.numberXeger("[1-9]{2}(//.[0-9]{2})?")
// 用户的得分 10 - 100
.subConfig(XgerTestDataBean.class,"userScore")
.numberXeger("([1-9]{1}([0-9]{1})?|0|100)")
// 用户身价 1000 - 9999999999.99
.subConfig(XgerTestDataBean.class,"userValue")
.numberXeger("[1-9]{1}([0-9]{3,9})(//.[0-9]{2})?")
.globalConfig();
}