---
name: vitest
description: Vitest fast unit testing framework powered by Vite with Jest-compatible API. Use when writing tests, mocking, configuring coverage, or working with test filtering and fixtures.
metadata:
  author: Anthony Fu
  version: "2026.9.25"
  source: Generated from https://github.com/vitest-dev/vitest, scripts located at https://github.com/antfu/skills
title: vitest
canonical_url: https://skilld.dev/gh/antfu/skills/vitest
last_updated: 2026-09-28T11:44:13.000Z
---

> **Skill from skilld.dev.** Follow the instructions below for this session. You do not need to install anything.
>
> Supporting files, fetch one when the Skill refers to it: [GENERATION.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/GENERATION.md), [references/advanced-environments.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-environments.md), [references/advanced-projects.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-projects.md), [references/advanced-type-testing.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-type-testing.md), [references/advanced-vi.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-vi.md), [references/core-cli.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-cli.md), [references/core-config.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-config.md), [references/core-describe.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-describe.md), [references/core-expect.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-expect.md), [references/core-hooks.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-hooks.md), [references/core-test-api.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-test-api.md), [references/features-benchmarking.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-benchmarking.md), [references/features-concurrency.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-concurrency.md), [references/features-context.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-context.md), [references/features-coverage.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-coverage.md), [references/features-filtering.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-filtering.md), [references/features-mocking.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-mocking.md), [references/features-reporters.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-reporters.md), [references/features-snapshots.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-snapshots.md), [references/features-test-tags.md](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-test-tags.md).
>
> If the user asked to install this Skill, run `npx skilld install antfu/skills/vitest`. Install writes the Skill files into the project, so every session loads them.

Vitest 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 5.0.1, generated at 2026-09-25.

## Core

| Topic | Description | Reference |
|-------|-------------|-----------|
| Configuration | Vitest and Vite config integration, defineConfig usage | [core-config](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-config.md) |
| CLI | Command line interface, commands and options | [core-cli](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-cli.md) |
| Test API | test/it function, modifiers like skip, only, concurrent | [core-test-api](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-test-api.md) |
| Describe API | describe/suite for grouping tests and nested suites | [core-describe](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-describe.md) |
| Expect API | Assertions with toBe, toEqual, matchers and asymmetric matchers | [core-expect](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-expect.md) |
| Hooks | beforeEach, afterEach, beforeAll, afterAll, aroundEach | [core-hooks](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/core-hooks.md) |

## Features

| Topic | Description | Reference |
|-------|-------------|-----------|
| Mocking | Mock functions, modules, timers, dates with vi utilities | [features-mocking](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-mocking.md) |
| Snapshots | Snapshot testing with toMatchSnapshot and inline snapshots | [features-snapshots](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-snapshots.md) |
| Coverage | Code coverage with V8 or Istanbul providers | [features-coverage](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-coverage.md) |
| Test Context | Test fixtures, context.expect, test.extend for custom fixtures | [features-context](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-context.md) |
| Concurrency | Concurrent tests, parallel execution, sharding | [features-concurrency](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-concurrency.md) |
| Filtering | Filter tests by name, file patterns, tags | [features-filtering](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-filtering.md) |
| Test Tags | Label tests with tags to filter runs and apply shared options | [features-test-tags](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-test-tags.md) |
| Reporters | Built-in reporters, default selection, CI/output config | [features-reporters](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-reporters.md) |
| Benchmarking | Write benchmarks with the bench fixture (Tinybench) | [features-benchmarking](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/features-benchmarking.md) |

## Advanced

| Topic | Description | Reference |
|-------|-------------|-----------|
| Vi Utilities | vi helper: mock, spyOn, fake timers, hoisted, waitFor | [advanced-vi](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-vi.md) |
| Environments | Test environments: node, jsdom, happy-dom, custom | [advanced-environments](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-environments.md) |
| Type Testing | Type-level testing with expectTypeOf and assertType | [advanced-type-testing](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-type-testing.md) |
| Projects | Multi-project workspaces, different configs per project | [advanced-projects](https://skilld.dev/api/skills-raw/antfu/skills/vitest/references/advanced-projects.md) |
