Mock 实践

February 25, 2025 / xChenNing / 6阅读 / 0评论 / 分类: 测试项目控制学习前端

需求和开端

想找一个模拟数据的库,看了一些其他项目,都用的Mockjs

今天npm下好发现package.json警告

image.png

GHSA-mh8j-9jvh-gjf6
mockjs vulnerable to Prototype Pollution via the Util. extend function

mockjs 容易通过Util受到原型污染。

What the hell ???

赶紧爬上issue看看怎么个事,然后看到前辈老哥的温柔话语

image.png

一看提交,十年前、六年前额

继续翻,有人建议使用Mockm,然后一查,发现Apifox也支持mock

看了眼Mockm,理念确实不错,但因为后端就有现成的apifox文档,所以决定直接使用apifox

其实Apifox看着更先进

对比

对比维度 Apifox Mock Mock.js
产品定位 全流程 API 管理工具(集成文档、调试、Mock、测试)16 前端数据模拟库(仅生成随机数据)15
Mock 规则生成 可视化定义字段规则,智能匹配数据类型(如邮箱、手机号)48 需手动编写数据模板,依赖代码实现15
协作能力 支持团队实时协作,Mock 数据与接口文档自动同步36 仅限本地使用,无协作功能14
环境支持 支持本地/云端 Mock 切换,内置鉴权机制46 仅限本地开发环境15
扩展性 支持 Nunjucks 脚本、自定义脚本及 Mock.js 语法258 依赖 Mock.js 原生语法,灵活性高但需编码实现复杂逻辑15
自动化能力 与自动化测试、性能测试联动,支持 CI/CD 集成16 仅生成数据,需搭配其他工具完成测试13
学习成本 低(可视化操作,零代码配置)48 较高(需熟悉 JavaScript 及 Mock.js 语法)57
适用场景 中大型团队协作、全生命周期 API 管理16 个人或小型项目快速生成静态数据15
安全性 支持鉴权、IP 白名单等安全策略46 无内置安全机制1
维护成本 接口修改后 Mock 规则自动更新48 需手动同步接口变更15

Apifox 文档

https://docs.apifox.com/?nav=1

场景搭建

平时简单场景搭建示例

项目设置Mock地址

image.png

我的项目是通过dotenv注入到vite.config.ts的proxy设置上

登录

  • 期望里选择哪一项等于哪一项不等于就行
  • Header新建Set-Cookie可以给客户端设置Cookie
#Apifox(1)#Mockjs(1)#Mockm(1)

文章作者:xChenNing

文章链接:https://blog.glcn.top/archives/mock-shi-jian

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 许可协议,转载请注明出处!


评论