用途:以网络层拦截方式为前端测试提供 API 模拟,适用于组件测试、错误场景与慢网络模拟,保证测试结果确定。
主要能力:使用 http.get、http.post 等创建 REST 处理器;使用 graphql.query/graphql.mutation 模拟 GraphQL;使用 ws.link() 模拟 WebSocket;通过 HttpResponse.json 返回数据与状态码,delay(2000) 模拟延迟,passthrough() 放行真实请求(2.x 新增);支持在测试内用 server.use() 覆盖处理器。
必要用法:从 msw 导入 http、HttpResponse、graphql、ws、delay、passthrough,从 msw/node 导入 setupServer;处理器放在 src/mocks/handlers.ts。测试配置中调用 server.listen({ onUnhandledRequest: 'error' }),每个测试后用 server.resetHandlers(),全部结束后 server.close()。
限制与约定:资料明确禁止直接 mock fetch 或 axios 模块,也禁止断言实现细节;未处理请求应设为 error 以发现缺失模拟。
其他:具体主框架名称、价格与平台支持暂未提供。