简单了解mock基础语法

mock基础语法

    数据模块定义规范(DTD) 数据占位符定义规范(DPD)

DTD

  1. 属性名
  2. 生成规则
  3. 属性值

属性名和生成规则用| 分隔。生成规则可选 ,有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
})
经验分享 程序员 微信小程序 职场和发展