Generate mock API servers from OpenAPI specifications that return realistic, schema-compliant response data for development and testing. Support dynamic response generation with Faker.js data, configurable latency simulation, stateful CRUD behavior, and request recording for contract testing validation.
See ${CLAUDE_SKILL_DIR}/references/implementation.md for the full implementation guide.
${CLAUDE_SKILL_DIR}/mocks/server.js - Mock server entry point with route registration${CLAUDE_SKILL_DIR}/mocks/fixtures/ - Per-endpoint response fixture JSON files${CLAUDE_SKILL_DIR}/mocks/generators/ - Dynamic response generators using Faker.js${CLAUDE_SKILL_DIR}/mocks/scenarios/ - Error scenario configurations (4xx, 5xx responses)${CLAUDE_SKILL_DIR}/mocks/state.js - In-memory state store for CRUD behavior${CLAUDE_SKILL_DIR}/mocks/recordings/ - Captured request logs for contract testing${CLAUDE_SKILL_DIR}/docker-compose.mock.yml - Docker configuration for mock server| Error | Cause | Solution |
|---|---|---|
| Schema mismatch | Mock response does not match updated OpenAPI spec | Run spec-to-fixture sync on spec change; add CI check comparing fixture schemas |
| Missing endpoint | Consumer requests path not defined in OpenAPI spec | Return 501 with message listing available endpoints; log unknown path for spec update |
| Stale fixtures | Mock data becomes unrealistic after API schema evolution | Regenerate fixtures from latest spec; use generators over static fixtures for evolving APIs |
| Port conflict | Mock server port already in use by another dev service | Make port configurable via environment variable; default to spec-defined server URL port |
| State leak between tests | Stateful mock retains data from previous test run | Reset in-memory state before each test suite; expose POST /mock/reset admin endpoint |
Refer to ${CLAUDE_SKILL_DIR}/references/errors.md for comprehensive error patterns.
Frontend parallel development: Launch a Prism mock server from the OpenAPI spec so frontend developers can build against realistic API responses while backend implementation is in progress.
Integration test isolation: Use MSW (Mock Service Worker) to intercept HTTP requests in Node.js test suites, returning fixture responses without network calls, with per-test response customization.
Contract testing: Record all requests to the mock server during frontend E2E tests, then replay them against the real backend to verify the mock accurately represents actual API behavior.
See ${CLAUDE_SKILL_DIR}/references/examples.md for additional examples.