Agent Skills
返回列表
💻

MSW API 模拟

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/msw-api-mocking-skill-frontend-integration-tests。

技能介绍

要解决的问题

前端和集成测试里,请求往往会带来三种典型麻烦:

  • 后端未就绪:接口还在开发中,前端只能对着一份可能过时的接口文档写代码,联调时大量返工。
  • 测试不稳定:测试直接打真实服务,响应时长、偶发错误码、数据污染都会让用例时好时坏,且每次跑测试都会写脏数据。
  • Mock 失真:随手在组件里塞的假数据,慢慢和真实接口的路径、响应结构、错误格式脱节,等真联调时才发现字段名对不上。

技能如何工作

该技能围绕 Mock Service Worker(MSW) 组织,把 mock 当成一项需要与真实端点对齐的工程任务,而不是临时写几段假响应。核心能力包括:

  • 为真实接口逐一梳理并搭建请求处理器(request handlers),覆盖路径、方法与响应结构。
  • 在本地开发和测试环境中用 MSW 拦截网络请求,把真实调用挡在边界之外。
  • 让 mock 的响应忠实于真实端点,包括响应体、状态码与错误格式,降低联调风险。

关键步骤大致是:先列出被依赖的真实端点,再按 MSW 的方式编写对应的 handler,然后在本地或测试环境挂载 MSW 使拦截生效,最后验证被测代码在无真实网络下的行为。

适用边界与注意点

这是一个面向 MSW 的任务型技能,不是通用 mock 方案说明书,前提是你的项目已经或愿意引入 MSW。资料中未提供自动提取到的安装或使用说明,接入前应先审阅上游项目,确认 handler 的写法与团队现有约定是否匹配,尤其是在涉及鉴权、文件上传等复杂场景时。

另外,它关注的是接口层模拟,不能替代真实的网络问题排查:DNS、CORS、证书、CDN 缓存等基础设施问题不会因为 mock 而暴露。敏感工作流(如线上数据脱敏、支付链路)中运行前,务必先在隔离环境验证 handler 的匹配范围,避免误拦截本应真实发出的请求。

使用场景

  • 后端接口尚未完成时,前端需要按接口文档搭建 MSW handler,让组件在无真实网络下完成联调验证
  • 编写集成测试时需要拦截对真实后端的请求,避免测试数据污染生产数据库
  • 后端偶发返回错误码导致测试不稳定,需要把错误响应固定下来让用例可重复运行
  • 接口响应结构多次变更,需要让 mock 与真实端点对齐,避免联调时才发现字段名不匹配

适合人员

  • 前端工程师:后端接口未就绪时,需要独立推进组件开发与测试而不被联调阻塞
  • 测试工程师:编写集成测试时需要隔离真实网络依赖,让用例可重复、可并行运行
  • 全栈开发者:负责维护 MSW handler 集合,需要让 mock 与真实端点长期保持一致
  • 组件库维护者:为演示与快照测试提供稳定的接口响应,不依赖外部服务的可用性