vitest

par antfu

Cadre de test unitaire rapide Vitest propulsé par Vite avec une API compatible Jest. À utiliser lors de l'écriture de tests, du mocking, de la configuration de la couverture, ou du travail avec le filtrage de tests et les fixtures.

npx skills add https://github.com/antfu/skills --skill vitest

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

TopicDescriptionReference
ConfigurationVitest and Vite config integration, defineConfig usagecore-config
CLICommand line interface, commands and optionscore-cli
Test APItest/it function, modifiers like skip, only, concurrentcore-test-api
Describe APIdescribe/suite for grouping tests and nested suitescore-describe
Expect APIAssertions with toBe, toEqual, matchers and asymmetric matcherscore-expect
HooksbeforeEach, afterEach, beforeAll, afterAll, aroundEachcore-hooks

Features

TopicDescriptionReference
MockingMock functions, modules, timers, dates with vi utilitiesfeatures-mocking
SnapshotsSnapshot testing with toMatchSnapshot and inline snapshotsfeatures-snapshots
CoverageCode coverage with V8 or Istanbul providersfeatures-coverage
Test ContextTest fixtures, context.expect, test.extend for custom fixturesfeatures-context
ConcurrencyConcurrent tests, parallel execution, shardingfeatures-concurrency
FilteringFilter tests by name, file patterns, tagsfeatures-filtering
Test TagsLabel tests with tags to filter runs and apply shared optionsfeatures-test-tags
ReportersBuilt-in reporters, default selection, CI/output configfeatures-reporters
BenchmarkingWrite benchmarks with the bench fixture (Tinybench)features-benchmarking

Advanced

TopicDescriptionReference
Vi Utilitiesvi helper: mock, spyOn, fake timers, hoisted, waitForadvanced-vi
EnvironmentsTest environments: node, jsdom, happy-dom, customadvanced-environments
Type TestingType-level testing with expectTypeOf and assertTypeadvanced-type-testing
ProjectsMulti-project workspaces, different configs per projectadvanced-projects

Skills connexes

configuring-experiment-rollout
posthog
Configure la forme de déploiement d'une expérience PostHog — la répartition des variantes (50/50, 80/20, ratios A/B/C), le pourcentage global de déploiement qui contrôle le nombre d'utilisateurs…
official
notion-spec-to-implementation
firecrawl
Transformer les spécifications Notion en plans d'implémentation, tâches et suivi de progression ; à utiliser lors de l'implémentation de PRD/spécifications fonctionnelles et de la création de plans et tâches Notion à partir de ceux-ci.
official
n8n-subworkflows
n8n-io
À utiliser lors de la construction de tout processus en plusieurs étapes, de tout ce qui semble répétitif, de tout ce que l'utilisateur mentionne comme réutilisable, ou de tout workflow comportant plus d'environ 10 nœuds. Déclencheurs…
official
core
vercel
Définition de schéma, création de catalogue et génération de prompts IA pour les spécifications json-render. Définissez des schémas avec des spécifications typées et des catalogues en utilisant defineSchema, puis créez des catalogues mappant les noms de composants à leurs props et descriptions. Générez des prompts système IA à partir de catalogues avec des règles personnalisées optionnelles ; prend en charge le streaming de spécifications via des correctifs JSONL avec createSpecStreamCompiler. Les expressions de props dynamiques permettent la liaison d'état ($state, $bindState), les conditionnels ($cond), les templates ($template), et...
official
cut-release-tag
nvidia
Cut a new semver release tag on main, move the `latest` tag, and push. Use when cutting a release, tagging a version, shipping a build, or preparing a…
official
commit
sentry
Utilisez TOUJOURS cette compétence lors de la validation de modifications de code — ne validez jamais directement sans elle. Crée des validations suivant les conventions Sentry avec une convention standard…
official
using-git-worktrees
openai
Utiliser lors du démarrage d'un travail de fonctionnalité nécessitant un isolement de l'espace de travail actuel ou avant d'exécuter des plans d'implémentation - garantit l'existence d'un espace de travail isolé via…
official
freecad-scripts
github
Compétence experte pour écrire des scripts Python FreeCAD, des macros et de l'automatisation. À utiliser lorsqu'on vous demande de créer des modèles FreeCAD, des objets paramétriques, Part/Mesh/Sketcher…
official