About vitest
Vitest is a testing-framework skill for Vite projects, for writing and running JavaScript and TypeScript tests. It offers a Jest-compatible API along with native ESM support, snapshots, mocking, and coverage.
Key features
- 01Jest-compatible testing API
- 02Native ESM, TypeScript, and JSX support
- 03Rerun affected tests based on the module graph
- 04Multi-threaded parallel test execution
- 05Coverage, snapshots, and mocking utilities
Use cases
- 01Write tests for a Vite application
- 02Migrate most Jest test suites
- 03Rerun affected tests in watch mode
- 04Review coverage and use snapshots or mocks
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ hjewkes/ agent-skills --skill vitestAfter installing, type/vitestin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
GENERATION.mdreferences/advanced-environments.mdadvanced-projects.mdadvanced-type-testing.mdadvanced-vi.mdcore-cli.mdcore-config.mdcore-describe.mdcore-expect.mdcore-hooks.mdcore-test-api.mdfeatures-concurrency.mdfeatures-context.mdfeatures-coverage.mdfeatures-filtering.mdfeatures-mocking.mdfeatures-snapshots.mdDetails
From the project READMEVitest is a next-generation testing framework powered by Vite. It provides a Jest-compatible API with native ESM, TypeScript, and JSX support out of the box. Vitest shares the same config, transformers, resolvers, and plugins with your Vite app.
Key Features:
- Vite-native: Uses Vite's transformation pipeline for fast HMR-like test updates
- Jest-compatible: Drop-in replacement for most Jest test suites
- Smart watch mode: Only reruns affected tests based on module graph
- Native ESM, TypeScript, JSX support without configuration
- Multi-threaded workers for parallel test execution
- Built-in coverage via V8 or Istanbul
- Snapshot testing, mocking, and spy utilities
The skill is based on Vitest 3.x, generated at 2026-01-28.
Core
| Topic | Description | Reference |
|---|---|---|
| Configuration | Vitest and Vite config integration, defineConfig usage | core-config |
| CLI | Command line interface, commands and options | core-cli |
| Test API | test/it function, modifiers like skip, only, concurrent | core-test-api |
| Describe API | describe/suite for grouping tests and nested suites | core-describe |
| Expect API | Assertions with toBe, toEqual, matchers and asymmetric matchers | core-expect |
| Hooks | beforeEach, afterEach, beforeAll, afterAll, aroundEach | core-hooks |
Features
| Topic | Description | Reference |
|---|---|---|
| Mocking | Mock functions, modules, timers, dates with vi utilities | features-mocking |
| Snapshots | Snapshot testing with toMatchSnapshot and inline snapshots | features-snapshots |
| Coverage | Code coverage with V8 or Istanbul providers | features-coverage |
| Test Context | Test fixtures, context.expect, test.extend for custom fixtures | features-context |
| Concurrency | Concurrent tests, parallel execution, sharding | features-concurrency |
| Filtering | Filter tests by name, file patterns, tags | features-filtering |
Advanced
| Topic | Description | Reference |
|---|---|---|
| Vi Utilities | vi helper: mock, spyOn, fake timers, hoisted, waitFor | advanced-vi |
| Environments | Test environments: node, jsdom, happy-dom, custom | advanced-environments |
| Type Testing | Type-level testing with expectTypeOf and assertType | advanced-type-testing |
| Projects | Multi-project workspaces, different configs per project | advanced-projects |
Comments
Markdown supported