name: msw description: Mock Service Worker API 模拟、请求处理器和集成测试。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep
MSW 技能
使用 Mock Service Worker 进行 API 模拟的专家级协助。
能力
- 创建请求处理器
- 模拟 REST 和 GraphQL API
- 处理网络错误
- 与测试集成
- 在开发中使用
处理器示例
import { http, HttpResponse } from 'msw';
export const handlers = [
http.get('/api/users', () => {
return HttpResponse.json([
{ id: '1', name: 'John' },
{ id: '2', name: 'Jane' },
]);
}),
http.post('/api/users', async ({ request }) => {
const body = await request.json();
return HttpResponse.json({ id: '3', ...body }, { status: 201 });
}),
http.get('/api/users/:id', ({ params }) => {
return HttpResponse.json({ id: params.id, name: 'John' });
}),
];
测试集成
import { setupServer } from 'msw/node';
import { handlers } from './handlers';
const server = setupServer(...handlers);
beforeAll(() => server.listen());
afterEach(() => server.resetHandlers());
afterAll(() => server.close());
目标流程
- api-mocking
- integration-testing
- frontend-development