vitest

作成者: sanity-io

Viteを搭載した高速ユニットテストフレームワークで、Jest互換のAPIを備えています。テストの作成、モック、カバレッジ設定、テストの操作時に使用します。

npx skills add https://github.com/sanity-io/next-sanity --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 3.x, generated at 2026-01-28.

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

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

sanity-ioのその他のスキル

tdd
sanity-io
テスト駆動開発のレッド・グリーン・リファクタリングループ。ユーザーがTDDを使って機能を構築したりバグを修正したい場合、「レッド・グリーン・リファクタリング」に言及した場合、または…
performance-optimization
sanity-io
アプリケーションのパフォーマンスを最適化します。パフォーマンス要件がある場合、パフォーマンスの低下が疑われる場合、またはCore Web Vitalsや読み込み時間が…
content-experimentation-best-practices
sanity-io
コンテンツ実験の設計、実行、分析に関する構造化されたガイダンスで、コンバージョンとエンゲージメントを向上させます。仮説フレームワーク、指標の選択、サンプルサイズの計算、A/Bテストや多変量実験における統計的有意性検定を網羅。p値、信頼区間、検出力分析、結果解釈のためのベイズ手法に関する詳細なリソースを提供。フィールドレベルでバリアントを管理し、外部と接続するためのCMS統合パターンを含みます。
content-modeling-best-practices
sanity-io
構造化コンテンツモデリングのガイダンス:スキーマ設計、再利用性、マルチチャネル配信に対応。コンテンツをページではなくデータとして扱う、単一情報源の維持、将来のチャネルに対応した設計、編集者ワークフローの最適化といった基本原則を網羅。参照と埋め込みオブジェクトの判断基準、関心の分離、コンテンツ再利用パターンを提供。フラット、階層的、ファセット型アプローチのタクソノミーと分類ガイダンスを提示。対象範囲:...
portable-text-conversion
sanity-io
HTMLおよびMarkdownコンテンツをSanity用のPortable Textブロックに変換します。レガシーCMSからのコンテンツ移行時や、HTMLやMarkdownをSanityにインポートする際に使用します。
portable-text-serialization
sanity-io
Portable TextをReact、Svelte、Vue、Astro、HTML、Markdown、プレーンテキストにレンダリングおよびシリアライズします。任意のフロントエンドでPortable Textレンダリングを実装する際に使用します…
sanity-best-practices
sanity-io
Sanity CMS開発におけるフレームワーク横断的な包括的なベストプラクティスと統合ガイド。Next.js、Nuxt、Astro、Remix、SvelteKit、Angularを含む10以上のフレームワーク統合を、フレームワーク固有のパターンとセットアップガイダンスとともにカバー。スキーマ設計、GROQクエリ最適化、ビジュアル編集、Portable Text、画像、TypeGen、ローカライゼーション、コンテンツ移行に関するトピックガイドを含む。タスクタイプに基づいて関連ガイドのみを読み込むためのクイックリファレンス構造を提供。
sanity-migration
sanity-io
他のCMSやコンテンツシステムからSanityへの移行を計画、実施、レビューします。AEM、Adobe Experience Manager、Contentful、Strapi、Webflow、WordPress、Payload、Drupal、Markdown/MDX/frontmatterファイル、WXR/XMLエクスポート、CMS API、データベースダンプ、静的HTMLからの移行やSanityへのリプラットフォーム時、または抽出、変換、Portable Text変換、アセット移行、リダイレクト、検証、カットオーバーワークフローの設計時に使用します。
data-analysisdatabasedevelopment