vitest

작성자: antfu

Vite 기반의 Jest 호환 API를 갖춘 빠른 단위 테스트 프레임워크입니다. 테스트 작성, 모킹, 커버리지 설정, 테스트 필터링 및 픽스처 작업 시 사용하세요.

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

관련 스킬

datadog-query-recipes
langfuse
Langfuse-specific Datadog query recipes for production telemetry research. Use when asked to investigate tenant or project activity, public API endpoint usage,…
official
valid
flutter
dart_skills_lint의 참조 픽스처입니다. 모든 기본 규칙을 통과하는 SKILL.md를 보여줍니다: 하이픈-소문자 이름이 상위 디렉터리와 일치하며, 적절하게...
official
Git Commit Format
openshift
HyperShift 관례적 커밋 포맷 규칙을 적용합니다. 커밋 메시지를 생성하거나 커밋을 만들 때 사용합니다.
official
add-pdf-viewer
microsoft
내부 구현 스킬로, /add-native에 의해 호출되어 네이티브 PDF 제어 워크플로를 처리합니다. HTTPS 전용 PDF 보기를 처리합니다…
official
launchdarkly-experiment-setup
launchdarkly
LaunchDarkly에서 실험을 설정하고 실행합니다. 메트릭, 처리 방식, 플래그 구성을 사용하여 실험을 생성하고, 데이터 수집을 위해 반복을 시작하며, 디자인을 전환합니다…
official
orca-cli
stablyai
We need to translate the given text from English to Korean. The instruction says to preserve product names, protocol names, URLs, numbers, and technical terms. The name "orca-cli" is to be preserved but not included unless it appears in the source text. The source text includes "orca-cli" inside quotes, so we should keep it as is. Also "Orca" is a product name, so preserve it. "CLI" is a technical term. "worktrees", "folder contexts", "terminals", "repos", "automations", "worktree comments", "browser", "Orca app", "cardStatus", "codex/claude", "terminal send", "full handoff", "handover" - these are technical terms or product features, so preserve them as is or translate if appropriate? The instruction says "preserve product names, protocol names, URLs, numbers, and technical terms." So technical terms should be preserved, not translated. But some terms like "worktree" might be a specific feature name, so keep
developmentbrowser-automationproductivity
deploy-to-vercel
openai
애플리케이션과 웹사이트를 Vercel에 배포합니다. 사용자가 "내 앱 배포해줘", "배포하고 링크 줘", "이거 푸시해줘…"와 같은 배포 작업을 요청할 때 사용하세요.
official
video-use
browser-use
대화만으로 모든 영상을 편집하세요. 음성 변환, 컷 편집, 색보정, 오버레이 애니메이션 생성, 자막 삽입 — 토킹 헤드, 몽타주, 튜토리얼, 여행 영상 등에 사용 가능합니다.
official