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(); }