Updated November 2026 7 hours of live training delivered over 1 day Developers, tech leads, and platform engineers who maintain Jest test suites and plan to move them to Vitest. It fits front-end teams on Vite, Node.js and TypeScript teams with ESM transform problems, and monorepo owners migrating package by package. For more on AI-assisted workflows, see AI-Assisted Development with JavaScript and TypeScript. This one-day course moves an existing Jest suite to Vitest without a long freeze or lost coverage. Students map Jest configuration to Vitest and convert the APIs that the official migration guide calls out. These include All students receive comprehensive courseware covering all topics in the course. Courseware is distributed via GitHub in the form of documentation and extensive code samples. Students practice the topics covered through challenging hands-on lab exercises. Students will need a free, personal GitHub account to access the courseware. No local student setup is required, this course is delivered with GitHub Codespaces. The free allotment of Codespaces hours from GitHub is sufficient to complete the course. Versions covered: Vitest 5 (with Vite 6.4 or later) on Node.js 22.12 or later, migrating from Jest 29 or 30.Migrating from Jest to Vitest
Class Duration
Student Prerequisites
Target Audience
Description
vi mocks, module mock factories, vi.importActual, mock reset behavior, hooks, and fake timers. The course also covers snapshots, ESM and TypeScript tests, DOM environments, coverage, and CI. The last part covers migration at scale with codemods, AI coding agents, and Jest and Vitest running side by side.Learning Outcomes
Training Materials
Software Requirements
Training Topics
Why Teams Move to Vitest
Planning the Migration
Configuration Mapping
jest.config to vitest.config.tstest block in vite.configtestEnvironment to environmentsetupFilesAfterEnv to setupFilesmoduleNameMapper to resolve.aliastestMatch to include and excludeglobals: true vs. explicit importsvitest/globals typesJEST_WORKER_ID to VITEST_POOL_IDAPI Differences
vi.fn, vi.spyOn, and vi.mockedvi.mockvi.hoistedjest.requireActual to vi.importActualimportOriginal helper__mocks__ folders applymockReset semanticsdone callbacks to promisesjest.setTimeout to vi.setConfig-tTimers and Dates
vi.useFakeTimers and vi.advanceTimersByTimeDate and Temporalvi.setSystemTimeSnapshots
toMatchSnapshot and inline snapshotsES Modules and TypeScript
tsconfigexpectTypeOf--typecheck flagTest Environments
node, jsdom, and happy-dom@vitest-environment commentsCoverage
coverage.include for untested filesCI
--shard--merge-reports--changedCodemods
Migrating with AI Coding Agents
Incremental Migration in Monorepos
projects per package