vitest について
vitest は、JavaScript や TypeScript のテストを作成・実行する Vite 向けフレームワークです。Vite の設定や変換パイプラインを共有し、Jest 互換 API を備えています。
主な機能
- 01Vite の設定とプラグインの共有
- 02Jest 互換 API
- 03ESM、TypeScript、JSX の標準サポート
- 04モジュールグラフに基づくテスト再実行
- 05マルチスレッド実行とカバレッジ
- 06モック、スナップショット、型テスト
活用シーン
- 01Vite アプリのテスト
- 02多くの Jest テストスイートの移行
- 03コード変更に応じたテストの再実行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ antfu/ skills --skill vitestインストール後、Claude Code で/vitestを入力して読み込まれたか確認します。
同梱ファイル
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-benchmarking.mdfeatures-concurrency.mdfeatures-context.mdfeatures-coverage.mdfeatures-filtering.mdfeatures-mocking.mdfeatures-reporters.mdfeatures-snapshots.mdfeatures-test-tags.md詳細
Vitest は、Vite を基盤とする次世代のテストフレームワークです。ネイティブ ESM、TypeScript、JSX をすぐに利用できる、Jest 互換の API を提供します。Vitest は、Vite アプリと同じ設定、トランスフォーマー、リゾルバー、プラグインを共有します。
主な機能:
- Vite ネイティブ:Vite の変換パイプラインを使用し、HMR のように高速にテストを更新します
- Jest 互換:ほとんどの Jest テストスイートをそのまま置き換えられます
- スマートなウォッチモード:モジュールグラフに基づき、影響を受けたテストのみを再実行します
- 設定不要でネイティブ ESM、TypeScript、JSX をサポートします
- マルチスレッドワーカーによる並列テスト実行
- V8 または Istanbul によるカバレッジ機能を内蔵
- スナップショットテスト、モック、スパイ用ユーティリティ
このスキルは Vitest 5.1.0-beta.1 に基づいており、2026-10-23 に生成されました。
コア
| トピック | 説明 | リファレンス |
|---|---|---|
| 設定 | Vitest と Vite の設定連携、defineConfig の使い方 | core-config |
| CLI | コマンドラインインターフェース、コマンドとオプション | core-cli |
| テスト API | test/it 関数、skip、only、concurrent などの修飾子 | core-test-api |
| Describe API | テストやネストしたスイートをグループ化する describe/suite | core-describe |
| Expect API | toBe、toEqual、マッチャー、非対称マッチャーによるアサーション | core-expect |
| フック | beforeEach、afterEach、beforeAll、afterAll、aroundEach | core-hooks |
機能
| トピック | 説明 | リファレンス |
|---|---|---|
| モック | vi ユーティリティによる関数、モジュール、タイマー、日付のモック | features-mocking |
| スナップショット | toMatchSnapshot とインラインスナップショットによるスナップショットテスト | features-snapshots |
| カバレッジ | V8 または Istanbul プロバイダーによるコードカバレッジ | features-coverage |
| テストコンテキスト | テストフィクスチャ、context.expect、カスタムフィクスチャ用の test.extend | features-context |
| 並行実行 | 並行テスト、並列実行、シャーディング | features-concurrency |
| フィルタリング | 名前、ファイルパターン、タグによるテストの絞り込み | features-filtering |
| テストタグ | タグでテストにラベルを付け、実行を絞り込んだり共通オプションを適用したりできます | features-test-tags |
| レポーター | 組み込みレポーター、デフォルトの選択、CI/出力の設定 | features-reporters |
| ベンチマーク | bench フィクスチャ(Tinybench)によるベンチマークの作成 | features-benchmarking |
高度な機能
| トピック | 説明 | リファレンス |
|---|---|---|
| Vi ユーティリティ | vi ヘルパー:mock、spyOn、フェイクタイマー、hoisted、waitFor | advanced-vi |
| 環境 | テスト環境:node、jsdom、happy-dom、カスタム環境 | advanced-environments |
| 型テスト | expectTypeOf と assertType による型レベルのテスト | advanced-type-testing |
| プロジェクト | マルチプロジェクトのワークスペース、プロジェクトごとに異なる設定 | advanced-projects |
コメント
Markdown 対応