为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第6天 什么是mock数据,如何使用mock

标签:
职场生活

课程名称:六大场景 什么是mock数据,如何使用mock

课程章节5-3 接口测试必会的Mock接口&平台介
课程讲师: Brian

课程内容:

什么是Mock数据?
1、模拟真实接口:实现效率开发,前后台同步,特别是分布式系统
2、虚拟业务场景:某些开发场景非常难触发,还有一些一场逻辑,交互逻辑
3、压力测试

常见的Mock数据工具:yapi 、easy mock 、dockever、 fast mock、

mock数据:即为虚拟的数据/虚假的测试数据

mock开发:就是使用mock数据,实现效率开发

mock特点:模拟接口、虚拟业务场景、临界情况

使用mock.js 进行mock数据的开发

安装与使用

// 安装npm install mockjs  
// 使用  
var Mock = require('mockjs');  
var data = Mock.mock({      
    'list|1-10': [{         
         'id|+1': 1,  
         'name':'@cname'  
    }]  
});  
console.log(JSON.stringify(data, null, 4))  

Mock.js 的语法规范包括两部分:

数据模板定义(Data Temaplte Definition,DTD)
// 属性名 name
// 生成规则 rule
// 属性值 value’name|rule’: value
数据占位符定义(Data Placeholder Definition,DPD)
@占位符
@占位符(参数 [, 参数])
常见语法:


注意:  
属性名 和 生成规则 之间用 | 分隔。  
生成规则 是可选的。  
生成规则 有 7 种格式:  
'name|min-max': value  
'name|count': value  
'name|min-max.dmin-dmax': value  
'name|min-max.dcount': value  
'name|count.dmin-dmax': value  
'name|count.dcount': value  
'name|+step': value  
生成规则 的 含义 需要依赖 属性值 才能确定。  
属性值 中可以含有 @占位符。  
属性值 还指定了最终值的初始值和类型。  

Mock.mock( rurl?, rtype?, template|function(options) )
根据数据模板生成模拟数据。
Mock.mock( template )

根据数据模板生成模拟数据。

Mock.mock( rurl, template )

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

Mock.mock( rurl, function(options) )

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

Mock.mock( rurl, rtype, template )

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

Mock.mock( rurl, rtype, function(options) )

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

参数的含义和默认值如下所示:

参数 rurl:可选。表示需要拦截的 URL,可以是 URL 字符串或 URL 正则。例如 /\/domain\/list\.json/、'/domian/list.json'。
参数 rtype:可选。表示需要拦截的 Ajax 请求类型。例如 GET、POST、PUT、DELETE 等。
参数 template:可选。表示数据模板,可以是对象或字符串。例如 { 'data|1-10':[{}] }、'@EMAIL'。
参数 function(options):可选。表示用于生成响应数据的函数。
参数 options:指向本次请求的 Ajax 选项集。
案例:mock本地拦截请求
$('#app').click(function(){  
    $.ajax({  
        url:'http://api.youdomin.com/getlist/',  
        type:'get',  
        dataType:'json'  
    }).done(function (data,status,xhr){  
        console.log(data,null,2)  
    })  
})  
  
var obj = {aa:'11','bb':'22','cc':'33'}  
Mock.mock('  
     'user|1-3':[  
         {  
             'id|+1':1,  
             name:'@cname',  
             'age|18-24':0,  
             birthday:'@date("yyyy-MMM-dd")',  
             city:'@city',  
             "fromObj|2":obj  
         }  
     ]  
})

课程收获:
从新学习了模拟数据mock.js 对语法有了深入的了解,模拟数据可以很好的前后端分离,不必拘泥于天天找后台要数据,使用爽,一直使用一直爽,学些到了Mock.mock 拦击请求语法等内容

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
2
获赞与收藏
23

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消