Agent Skills: vitest

Use when writing unit/integration tests for Vite projects - configure vitest.config.ts, write test suites with describe/it, create mock implementations with vi.fn and vi.mock, set up code coverage thresholds, and run tests in parallel

UncategorizedID: onmax/nuxt-skills/vitest

Install this agent skill to your local

pnpm dlx add-skill https://github.com/onmax/nuxt-skills/tree/HEAD/skills/vitest

Skill Files

Browse the full folder contents for vitest.

Download Skill

Loading file tree…

skills/vitest/SKILL.md

Skill Metadata

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.

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.x (beta), generated at 2026-06-22.

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 | | Test Tags | Label tests with tags to filter runs and apply shared options | features-test-tags | | Reporters | Built-in reporters, default selection, CI/output config | features-reporters | | Benchmarking | Write benchmarks with the bench fixture (Tinybench) | features-benchmarking |

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 |