Mock

Mock

mock的语法规范包括两部分

  1. 数据模板定义规范 (Data Template Definition DTD)

  2. 数据占位符定义规范 (Data Placeholder Definition DPD)

     

数据模板定义规范:

数据模板中的每个属性由三部分组成:属性名,生成规则,属性值

'name|rule':value

注意

  • 属性名生成规则之间使用 | 分隔

  • 生成规则是可选的

  • 生成规则有7种格式

    1. 'name|min-max':value

    2. 'name|count':value

    3. 'name|min-max.dmin-dmax':value

    4. 'name|min-max.dcount':value

    5. 'name|count.dmin-dmax':value

    6. 'name|count.dcount':value

    7. 'name|+step':value

       

属性值是字符串

  1. 'name|mim-max':string: 通过重复的string生成一个字符串,重复次数大于等于min 小于max

  2. 'name|count':string: 通过重复string 生成一个字符串,重复次数等于count

    const Mock = require("mockjs");
    ​
    let str = Mock.mock({
        'name|1-6':'李权'
    })
    ​
    console.log(str);
    ​
    let str1 = Mock.mock({
        'name|5': '李权'
    })
    console.log(str1);
    

     

属性值是number

  1. 'name|+1':number : 属性值自动加一,初始值为number

  2. 'name|min-max':number : 生成一个大于等于min 或小于max的数, number属性值只是用来确定类型

  3. 'name|min-max.dmin-dmax': 生成一个大于等于min或小于max 小数部位在 dmin或dmax的数, number属性值只是用来确定类型的

const mockjs = require('mockjs');
const {mock}  = require('mockjs');
console.log(mock);
​
let number1 = mock({
    'number1|1-9':1,
    'number2|1-9':1
})
console.log(number1);
​
let number2 = mock({
    'number|5':1,
})
// 注意当值为number类型的时候,规则只有一个数,那么值用于为规则中的那个数
console.log(number2);

属性值为Boolean

  1. 'name|1':boolean; 随机生成一个bool值true的概率为二分之一false同样

  2. 'name|min-max':value;随机生成一个bool值但是value的概率min/max+min !value的概率为 max/min+max

属性值为对象 object

  1. 'name|1':object 从属性值中随机选取count个属性

  2. 'name|min-max'从属性值中随机选取 min 到max的属性

属性值为数组 array

  1. 'name|count':array 从属性值中 array 中随机选取 1个元素 作为最终值

  2. 'name|+1' :array 从属性值中顺序选取1个元素 作为最终值

  3. 'name| min-max':array 通过重复属性值 array 生成一个新的数组,重复次数大于等于 min 小于 max

  4. 'name|count':array 通过重复属性值生成一个新的数组,重复次数为count

const mockjs = require("mockjs");
const {mock} = require("mockjs");
​
let arr = [1,2,3,45,5];
let array = mock({
    'name|1':arr
})
let array2 = mock({
    'name|+1':arr
})
let array3 = mock({
    "name|1-5":arr
})
let array4 = mock({
    'name|3':arr
})
console.log(array);
console.log(array2);
console.log(array3);
console.log(array4);

注意:重复属性值 的意思是所有数组的属性而不是从中选取几个属性

Mock.mock

Mock.mock(rurl?,rtype?,template|function(options))

1.根据数据模板生成模拟数据

Mock.mock(template) 根据数据模板生成模拟数据

2.Mock.mock(rurl,template)

记录数据模板,当拦截到匹配的rurl的Ajax请求时候,将根据数据模板template 生成模拟数据,并作为响应数据返回

3.Mock.mock(rurl,function(option))

记录用于生成响应数据的函数,当拦截到匹配的rurl的Ajax请求时,函数 function(options) 将被执行,并把执行结果作为响应数据返回

4.Mock.mock(rurl,rtype,template)

记录用于生成响应数据的函数,当拦截到pipe的rurl 和 rtype类型的Ajax请求时,将根据模板template生成模拟数据,并作为响应数据返回

5.Mock.mock(rurl,rtype,function(option))

记录用于生成响应数据的函数,当拦截到匹配的rurl和rtype的Ajax请求时,函数 function(option)将被执行,并把执行结果作为响应数据返回

rurl

表示需要的拦截的url,可以是 RUL字符串 或URL正则

rtype

表示需要拦截的Ajax请求类型 ,比如get post put delete

Mock.setup()

Mcok.setup(setting) 配置拦截ajax请求时的行为,支持的配置项有 timeout

setting 必选

指定被拦的ajax的请求的响应时间,单位是毫秒,值可以为正整数 比如 400,就是400毫秒后才会响应数据,也可以是横杠 - 风格的字符串,表示在什么之间

Mock.setup({
    timout : 400
});
Mock.mock({
    timeout: 200-400
})
​

Mock.Random 就是占位符 相当于@符号

random.integer() == @integer() @符号就相当于一个简写形式

Basiic:

1.Random.boolean(min?,max?,current?)

随机返回一个 bool值

2.rangdom.natural(min?,max?)

Random.natural()

Random.natural(min)

Radom.natural(min,max)

返回个自然数 大于等于0的整数

const {Random} = require("mockjs");
​
/*natural */
let natural1 = Random.natural()
console.log(natural1);
let natural2 = Random.natural(1);
console.log(natural2);
let natural3 = Random.natural(20,30);
console.log(natural3);

 

3.Random.integer(min?,max?)

  • Random.integer()
    
    Random.integer(min)
    
    Rabdom.integer(min,max)

     

返回一个随机整数 可以为负数

let integer1 = Random.integer();
let integer2 = Random.integer(2);
let integer3 = Random.integer(2,5);
console.log(integer1);
console.log(integer2);
console.log(integer3);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值