文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
高级 Mock
高级 Mock 分为Mock 期望
和自定义 Mock 脚本
两种方式。
Mock 期望
在测试时,很多时候需要根据不同的请求参数、IP 返回不同的 HTTP Code、HTTP 头和 JSON 数据。
Mock 期望就是根据设置的请求过滤规则,返回期望数据。
使用方法
- 进入接口详情页,点击『高级 Mock』选项。
期望填写
基本信息
- 期望名称:给此条期望命名
- IP 过滤:请求的 IP 是设置的地址才可能返回期望。默认 IP 过滤关闭,任何 IP 地址都可能返回期望。
- 参数过滤:请求必须包含设置的参数,并且值相等才可能返回期望。参数可以在 Body 或 Query 中。
响应
- HTTP Code:期望响应的 HTTP 状态码
- 延时:期望响应的延迟时间
- HTTP 头:期望响应带有的 HTTP 头
- 返回 JSON:期望返回的 JSON 数据
自定义 Mock 脚本
在前端开发阶段,对于某些接口,业务相对复杂,而 UI 端也需要根据接口返回的不同内容去做相应的处理。
YApi 提供了写 JS 脚本方式处理这一问题,可以根据用户请求的参数修改返回内容。
全局变量
请求
header
请求的 HTTP 头params
请求参数,包括 Body、Query 中所有参数cookie
请求带的 Cookies
响应
mockJson
接口定义的响应数据 Mock 模板resHeader
响应的 HTTP 头httpCode
响应的 HTTP 状态码delay
Mock 响应延时,单位为 msRandom
Mock.Random 方法,可以添加自定义占位符,详细使用方法请查看 Wiki
使用方法
- 首先开启此功能
- Mock 脚本就是用 JavaScript 对
mockJson
变量修改,请避免被全局变量(httpCode, resHeader, delay)的修改
示例1, 根据请求参数重写 mockJson
if(params.type == 1){
mockJson.errcode = 400;
mockJson.errmsg = 'error';
}
if(header.token == 't'){
mockJson.errcode = 300;
mockJson.errmsg = 'error';
}
if(cookie.type == 'a'){
mockJson.errcode = 500;
mockJson.errmsg = 'error';
}
示例2, 生成高度自定义数据内容
var a = [1,1,1,1,1,1,1,1,1,1]
mockJson = {
errcode: 0,
email: Random.email('qq.com'),
data: a.map(function(item){
return Random.city() + '银行'
})
}
Mock 优先级说明
请求 Mock 数据时,规则匹配优先级:Mock 期望 > 自定义 Mock 脚本 > 项目全局 mock 脚本 > 普通 Mock。
如果前面匹配到 Mock 数据,后面 Mock 则不返回。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论