Assists with intercepting network requests for API mocking using Mock Service Worker (MSW). Use when mocking REST or GraphQL APIs for unit tests, integration tests, or local development without modifying application code or running mock servers. Trigger words: msw, mock service worker, api mocking, test mocking, request handlers, setupServer.
MSW intercepts network requests at the service worker level (browser) or in-memory (Node.js) to mock REST and GraphQL APIs for tests and local development. It uses the same handlers for both environments, keeping mocks consistent, and works transparently with any HTTP client (fetch, axios, Apollo) without modifying application code.
http.get(), http.post(), etc. and GraphQL handlers with graphql.query() and graphql.mutation(), returning responses via HttpResponse.json().setupServer(...handlers) with server.listen() before tests, server.resetHandlers() between tests, and server.close() after all tests.setupWorker(...handlers) and run npx msw init ./public to generate the service worker file, which intercepts requests visible in DevTools.server.use() to add temporary handlers for error states or edge cases, which scope to the current test and reset afterward.delay(ms) for latency, HttpResponse.error() for failures, and custom status codes for error responses.src/mocks/handlers.ts for reuse across test files and the dev server, with per-test overrides via server.use().User request: "Set up MSW to mock my user API for React Testing Library tests"
Actions:
src/mocks/handlers.ts for GET /api/users, POST /api/users, and GET /api/users/:idsetupServer(...handlers) in the test setup file with beforeAll/afterEach/afterAll hooksserver.use(http.get("/api/users", () => HttpResponse.json(null, { status: 500 })))Output: Component tests with realistic API mocking, including happy path and error state coverage.
User request: "Set up MSW to mock my GraphQL API during local development"
Actions:
GetPosts, GetUser) and mutations (CreatePost)setupWorker(...handlers) in the browser entry point with conditional activationdelay(300) to simulate realistic network latencynpx msw init ./public and start the dev serverOutput: A development environment with mocked GraphQL API visible in browser DevTools, with realistic latency.
src/mocks/handlers.ts file for reuse across test files and the dev server.server.use() for per-test overrides; keep the default happy path in shared handlers.delay() in development mocks to simulate real latency and catch loading state bugs.afterEach(() => server.resetHandlers()) to prevent test pollution.npx skills add TerminalSkills/msw下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer