简单了解mock基础语法
mock基础语法
-
数据模块定义规范(DTD) 数据占位符定义规范(DPD)
DTD
- 属性名
- 生成规则
- 属性值
属性名和生成规则用| 分隔。生成规则可选 ,有7中规则
用法
-
属性值是字符串’name|min-max’:string 生成重复次数大于min小于max的字符串 属性值是number
(1)‘name+1’:number属性值自动加1 初始值为number (2)‘name|min-max’:number 生成>=min <= max的整数 number为类型 (3)‘name|min-max.dmin-dmax’: number 生成一个浮点数,整数部分大于等于 min、小于等于 max,小数部分保留 dmin 到 dmax 位。
-
属性是boolean ‘name|1’:boolean随机生成一个boolean值 true false各占一半 属性值是对象 Object (1)name|count’从属性值object 中随机取 count个属性 (2)‘name|min-max’:object从属性值 随机选取min到max个属性 属性值是数组Array (1)‘name|1’: array 从属性值 array 中随机选取 1 个元素,作为最终值。 (2)‘name|+1’: array 从属性值 array 中顺序选取 1 个元素,作为最终值。 (3)‘name|min-max’: array 通过重复属性值 array 生成一个新数组,重复次数大于等于 min,小于等于 max。 (4)‘name|count’: array 通过重复属性值 array 生成一个新数组,重复次数为 count。 属性值为Function (1)‘name’: function 执行函数 function,取其返回值作为最终的属性值,函数的上下文为属性 ‘name’ 所在的对象。 属性值为正则表达式RegExp (1)‘name’: regexp 根据正则表达式 regexp 反向生成可以匹配它的字符串。用于生成自定义格式的字符串。
DPD 占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。格式如下:
@占位符 @占位符(参数 [, 参数])
(1)用 @ 来标识其后的字符串是 占位符。 (2)占位符 引用的是 Mock.Random 中的方法。 (3)通过 Mock.Random.extend() 来扩展自定义占位符。 (4)占位符 也可以引用 数据模板 中的属性。 (5)占位符 会优先引用 数据模板 中的属性。 (6)占位符 支持 相对路径 和 绝对路径。
Mock.mock({ name: { first: @FIRST, middle: @FIRST, last: @LAST, full: @first @middle @last } }) // => { "name": { "first": "Charles", "middle": "Brenda", "last": "Lopez", "full": "Charles Brenda Lopez" } }
占位符
//使用方式 mock相应请求 返回string对象 Mock.mock( http://test/data,{ "userName" : @name, //模拟名称 "age|1-100":100, //模拟年龄(1-100) "color" : "@color", //模拟色值 "date" : "@date(yyyy-MM-dd)", //模拟时间 "url" : "@url()", //模拟url "content" : "@cparagraph()" //模拟文本 } )
//发送请求 $.ajax({ url:http://test/data, dataType:json, data:{}, success:function(data){ }, error:function(err) { } }) //设置请求时间 Mock.setup({ timeout: 400 }) Mock.setup({ timeout: 200-600 })
上一篇:
IDEA上Java项目控制台中文乱码