用途:MSW 是面向浏览器与 Node.js 的 API 模拟库,采用网络层拦截方式,让前端在真实网络请求路径上获得模拟响应,适用于测试、开发调试等场景。
主要能力:支持 REST 处理器(http.get/post/put/delete/patch)与 GraphQL 处理器(query、mutation、自定义 endpoint);可读取路径参数、查询参数、请求头、Cookie 与请求体;可返回自定义状态码、响应头、流式响应、网络错误、延迟(含无限延迟)以及 passthrough 透传真实请求。
使用方式:安装 npm install msw --save-dev。处理器集中放在 src/mocks/handlers.ts。Node 端用 setupServer(...handlers) 创建 server,在测试的 beforeAll 中 server.listen()、afterEach 中 server.resetHandlers()、afterAll 中 server.close(),可接入 Vitest 或 Jest 的 setupFiles。浏览器端先执行 npx msw init public/ --save 初始化 Worker,再用 setupWorker(...handlers) 创建 worker 并调用 worker.start(),通常在开发环境按需启用。Next.js 中可按服务端/客户端分别加载 server 或 worker。
适用场景:单元与集成测试中模拟接口、覆盖错误与空数据等分支、断言请求体、测试加载状态;本地开发时无需后端即可联调。
限制:资料未提供收费、价格、平台支持范围与性能数据;具体版本兼容性、浏览器要求等暂未提供。