# Vitest Migration

> Migrate a Jest test suite to Vitest — config, globals, and mock API differences.

- Skill: `alexngai/vitest-migration` (Agent Skill)
- Install (CLI): `npx skillmds@latest add alexngai/vitest-migration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/alexngai/vitest-migration/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: alexngai (https://skillmd.com/u/alexngai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/alexngai/vitest-migration

---


# Migrate Jest → Vitest

1. Add `vitest` and create `vitest.config.ts` (reuse your Vite config if you have one).
2. Enable `globals: true` to keep `describe`/`it`/`expect` without imports.
3. Swap `jest.fn()` → `vi.fn()`, `jest.mock()` → `vi.mock()`, `jest.spyOn` → `vi.spyOn`.
4. Replace `jest.config` timers/fake-timers with `vi.useFakeTimers()`.
5. Run `vitest run` in CI; drop `ts-jest` once green.

