Yapi Mock功能使用

一、背景
为什么要使用Mock?
(1)前后端和测试 团队可以并行工作,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决。
(2)可以开启TDD(测试驱动开发)模式,测试人员可以通过mock,在接口提测前完成用例的编写。
(3)测试可以模拟很多不好模拟的场景,比如你需要接口返回500,不再需要开发给代码动手脚即可实现。总之,想要什么返回就mock什么返回,是不是很cool?
。。。。。。
二、yapi mock的分类
yapi mock有Mock 期望 、自定义 Mock 脚本 、项目全局 Mock 脚本 、普通 Mock四种mock方式,他们之间的生效顺序是:Mock期望>自定义Mock脚本>项目全局Mock脚本>普通 Mock。
三、普通Mock
有两种方式:mockjs和json-schema。
1.mockjs
基于mockjs,但是没有mockjs那么丰富的函数库。如下图所示:
在这里插入图片描述

2.json-schema
首先需开启json-schema模式。
在这里插入图片描述
在这里插入图片描述

四、mock期望
mock期望可以针对不同入参场景设置不同的期望以达到多种场景测试的目的。
【期望名称】用来区分不同的期望场景
【基本信息】用来定义不同的入参场景
【响应】用来定义对应的期望返回信息
见下图:
在这里插入图片描述
添加完了之后需操作开启:
在这里插入图片描述

五、自定义mock脚本
首先需要在高级Mock页面选择”脚本“并开启:
在这里插入图片描述
然后编辑mock脚本,这里支持对参数使用mock函数:
在这里插入图片描述
特别需要注意的是,yapi1.8.3版本之前直接mockJson = {xx:xx}即可,yapi1.8.3之后,如果返回的json没有对象名时,需要使用函数:Object.assign( mockJson,{aaa:value, bbb:value})

### Yapi Mock 请求异常解决方案 在使用 Yapi 进行 Mock 请求时,如果遇到诸如 `adv_source_mock validation failed: mock: Path 'mock' is required` 的错误提示,这通常意味着配置文件中缺少必要的路径设置。具体来说,在创建或编辑接口时,如果没有正确填写 Mock 路径,则会触发此类验证失败。 对于这个问题的处理方式如下: - **检查并补充缺失字段**:确保每一个需要被模拟响应的 API 都已经指定了有效的 `Path` 参数[^1]。 如果是在自定义脚本模式下编写逻辑判断语句来动态返回不同的 JSON 结构体作为响应内容的话,应该像这样写: ```javascript module.exports = { title: 'Example', description: '', template: function (req, res) { let params = req.query || req.params; if(params.BuildEnv === 'daily'){ return { test_build : 1, message : '@csentence' }; } // 更多条件分支... throw new Error('Invalid BuildEnv'); } }; ``` - **遵循官方文档指导**:参照 Yapi 官方提供的指南完成相应操作,避免因误解功能而导致配置失误[^3]。 通过以上措施可以有效解决大部分由于参数不全引起的 Mock 功能无法正常工作的情况。另外值得注意的是,除了简单的静态数据映射外,Yapi 支持更复杂的场景如基于不同环境变量给出差异化的回复等高级特性[^4]。 #### 关于提高系统的通用性和易用性方面 为了增强系统兼容度以及改善用户体验,可以从以下几个角度出发寻找改进办法: - 开发插件扩展核心功能; - 提供多种格式的数据导出选项满足多样需求; - 构建社区生态促进交流分享最佳实践案例; 这些方法有助于构建一个更加开放灵活的服务体系,从而更好地服务于广大开发者群体及其所在的企业组织[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值