Vitest Integration
MockMaster integrates seamlessly with Vitest for fast, modern testing.
npm install -D vitestSetup
vitest.config.ts
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
environment: 'node',
globals: true,
setupFiles: ['./tests/setup.ts']
}
})Basic Usage
import { describe, it, expect, beforeEach } from 'vitest'
import { readScenario } from '@mockmaster/cli'
import { createReplayHandler } from '@mockmaster/msw-adapter'
describe('User API', () => {
let handler: ReturnType<typeof createReplayHandler>
beforeEach(async () => {
const scenario = await readScenario('./scenarios', 'user-api')
handler = createReplayHandler(scenario)
})
it('fetches users', () => {
const response = handler({ method: 'GET', path: '/users' })
expect(response).toBeDefined()
expect(response!.status).toBe(200)
expect(response!.body).toBeInstanceOf(Array)
})
it('fetches user by ID', () => {
const response = handler({ method: 'GET', path: '/users/123' })
expect(response!.status).toBe(200)
expect(response!.body).toMatchObject({
id: expect.any(Number),
name: expect.any(String),
email: expect.stringMatching(/@/)
})
})
})Complete Example
See MASTER_DOCUMENTATION.md for complete examples.