简介
这是一个仿照Mock.js语法的Java语言使用的假数据生成工具框架。 部分方法与类介绍详细可查看JavaDoc文档:JavaDoc文档
此框架中不仅仅只可以作为假数据获取用,还有一些比较实用的工具类可以拿来单独使用。
*工具类介绍:工具类介绍
当前版本:v1.2
最低JDK版本:JDK8
以下介绍的版本:v1.2 (第一版)
※ 版本更新内容与预期更新计划详见于文档末尾 : 更新公告
使用方法
安装
在maven项目下,从pom.xml中导入以下地址(仅以最新版本作为示例):
io.gitee.ForteScarlet mock.java 1.2
使用
相信使用过Mock.js的各位大佬应该知道,在使用Mock.js的时候是用的JSON格式的参数。 但是,Java可是没法直接识别JSON的啊! 所以,我们采用最接近JSON格式的方式:Map集合。
简单来说,就是将一个类的字段根据Mock.js那样的key-value的键值对转化为一个Map对象就好了!我习惯将这种Map对象称为 字段映射表 。
而且作为Java语言,数据类型是必须要多加考虑的问题。我在获取值的时候已经尽可能的增加了容错率,但是还是需要您注意数据类型的问题,请尽可能不要犯下将一个字符串赋值给整数这类难以防范的错误..
或许感觉上比JSON格式的使用要麻烦一些,但是这也是没有办法的事情嘛!假如您有更好的代替方式,希望您能告诉我 :)
框架中的一些常见"角色"
参数解析器/任务分配器(ParameterParser)
负责对用户传入的字段映射(Map集合)进行解析并分配解析任务。
也可以将其理解为 任务分配器 。
字段解析器(FieldParser)
接收任务分配器分配的任务并对字段和其映射进行解析,并取得字段值获取器(FieldValueGetter)。
字段值获取器(FieldValueGetter)
使用字段值的setter方法和字段值获取方法执行者(Invoker)对某个字段进行赋值。
字段值获取方法执行者(Invoker)
通过执行一个某种方法得到一个结果。用于获取字段的值。
假对象(MockObject)
通过Mock.get(Class clz)方法获取到的返回值,用于获取假对象数据。
设置字段映射的方式:
1·创建对象字段与随机值语法的映射关系(Map 类型的键值对)
创建的这个Map,Key值代表了映射的字段名,value值代表了映射语法 由于这毕竟与弱引用类型语言不同,所以在设置映射的时候请务必注意字段的数据类型。
Map map = new HashMap<>();
2·添加字段映射
字段映射中,value值所用到的 @函数 可以从 JavaDoc文档 中查阅[MockUtil]类中的方法,MockUtil中的全部方法均可作为 @函数 出现在value值中。
再次提醒,请务必注意对应好字段的字段类型
map.put("age