vitest について
JavaScript や TypeScript の開発者向けに、Vite ベースのテストフレームワーク Vitest を解説するスキルです。設定、テスト API、カバレッジ、モック、並列実行、高度なテストを扱います。
主な機能
- 01Vite と Vitest の設定
- 02Jest 互換のテスト・アサーション API
- 03ウォッチモードと変更対象テストの再実行
- 04モック、スナップショット、カバレッジ
- 05並列実行とテストの絞り込み
- 06テスト環境と型テスト
活用シーン
- 01Vite アプリのユニットテスト作成
- 02一般的な Jest のテストパターンの移行
- 03コード変更の影響を受けるテストだけを実行
- 04カバレッジ測定や TypeScript の型テスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ pedronauck/ 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.x(ベータ版)を基にしており、2026-06-22に生成されました。
コア
| トピック | 説明 | リファレンス |
|---|---|---|
| 設定 | 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 対応