migration

Migrating from Jest to Vitest

Licence and terms

Jest
MIT, Open source
Vitest
MIT, Open source
Fit
Full replacement Jest-compatible API, running on Vite's transform pipeline.

Compatibility

Vitest was designed around a Jest-compatible API, so most test files move over by swapping jest.* calls for vi.* and importing from vitest. The differences below are the ones the Vitest team documents.

Before you switch

  1. Decide on globals. Jest exposes describe, it and expect globally by default and Vitest does not: turn on the globals option, or import them from vitest.
  2. Replace jest.fn, jest.mock and jest.spyOn with their vi counterparts, and jest.setTimeout(n) with vi.setConfig({ testTimeout: n }).
  3. Import types such as Mock from vitest, since there is no jest namespace.

Pitfalls

Official guide

Vitest's migration guide ↗

Reviewed on 2026-09-24.

Sources

Other alternatives to Jest →