コマンドラインインターフェース
コマンド
vitest
現在のディレクトリで Vitest を起動します。開発環境では自動的にウォッチモードに入り、CI 環境では実行モードに切り替わります。
実行するテストファイルのフィルターとして、引数を追加できます。例:
vitest foobarパスに foobar を含むテストファイルのみが実行されます。このフィルターは単純な文字列包含チェックのみを行い、正規表現やグロブパターンはサポートしていません(ターミナルが Vitest にフィルターを送信する前に処理する場合を除きます)。
vitest run
ウォッチモードなしでテストを一度だけ実行します。
vitest watch
すべてのテストスイートを実行し、ファイルの変更を監視して、変更時にテストを再実行します。引数を指定せずに vitest を実行する場合と同じです。CI 環境では vitest run にフォールバックします。
vitest dev
vitest watch のエイリアスです。
vitest related
指定されたソースファイルに関連するテストのみを実行します。静的インポート(例:import('./index.ts') や import index from './index.ts')には対応していますが、動的インポート(例:import(filepath))には対応していません。すべてのファイルパスは、ルートフォルダからの相対パスで指定する必要があります。
lint-staged または CI 環境での利用に便利です。
vitest related /src/index.ts /src/hello-world.jsTIP
Vitest はデフォルトでウォッチモードが有効になっていることに注意してください。lint-staged のようなツールを使用している場合は、--run オプションも渡して、コマンドが正常に終了するようにする必要があります。
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};vitest bench
パフォーマンスの結果を比較する ベンチマーク テストのみを実行します。
オプション
| オプション | |
|---|---|
-v, --version | バージョン番号を表示します。 |
-r, --root <path> | プロジェクトルートを定義します。 |
-c, --config <path> | 設定ファイルへのパスを指定します。 |
-u, --update | スナップショットを更新します。 |
-w, --watch | インテリジェントで応答性の高いウォッチモードを有効にします。 |
-t, --testNamePattern <pattern> | 完全名が指定されたパターンに一致するテストを実行します。 |
--dir <path> | テストファイルをスキャンするベースディレクトリを指定します。 |
--ui | UI を有効にします。 |
--open | 有効な場合、UI を自動的に開きます(デフォルト:true)。 |
--api [api] | API サーバーを起動します。利用可能なオプション:--api.port <port>、--api.host [host]、--api.strictPort |
--threads | スレッドを有効にします(デフォルト:true)。 |
--single-thread | 単一のスレッド内でテストを実行します。--threads が必要です(デフォルト:false)。 |
--experimental-vm-threads | VM 分離を使用してワーカープールでテストを実行します(デフォルト:false)。 |
--experimental-vm-worker-memory-limit | ワーカーごとの最大使用メモリを設定します。上限に達した場合、代わりに新しいワーカーが作成されます。 |
--silent | テストからのコンソール出力を無効にします。 |
--isolate | 各テストファイルの実行環境を分離します(デフォルト:true)。 |
--reporter <name> | レポーターを選択します:default、verbose、dot、junit、json、またはカスタムレポーターへのパス。 |
--outputFile <filename/-s> | --reporter=json または --reporter=junit オプションが指定されている場合に、テスト結果をファイルに書き込みます。cac のドット記法 を使用して、複数のレポーターに対して個別の出力を指定できます。 |
--coverage | カバレッジレポートを有効にします。 |
--run | ウォッチモードを無効にします。 |
--mode | Vite モードをオーバーライドします(デフォルト:test)。 |
--mode <name> | Vite モードをオーバーライドします(デフォルト:test)。 |
--globals | API をグローバルに注入します。 |
--dom | happy-dom でブラウザ API をモックします。 |
--browser [options] | ブラウザ でテストを実行します(デフォルト:false)。 |
--environment <env> | ランナー環境を指定します(デフォルト:node)。 |
--passWithNoTests | テストが見つからない場合に成功として扱います。 |
--logHeapUsage | 各テストのヒープサイズを表示します。 |
--allowOnly | only としてマークされているテストとスイートのみを実行します(CI 環境ではデフォルト:false、それ以外の場合は true)。 |
--dangerouslyIgnoreUnhandledErrors | 発生した未処理のエラーをすべて無視します。 |
--changed [since] | 変更されたファイルの影響を受けるテストを実行します(デフォルト:false)。詳細についてはドキュメントを参照してください。 |
--shard <shard> | 指定されたシャードでテストを実行します。 |
--sequence | テストの実行順序を定義します。cac のドット記法 を使用してオプションを指定します(たとえば、--sequence.shuffle を使用してテストをランダムな順序で実行したり、--sequence.shuffle --sequence.seed SEED_ID を使用して特定の順序で実行したりします)。 |
--no-color | コンソール出力から色を削除します。 |
--inspect | Node.js のインスペクターを有効にします。 |
--inspect-brk | ブレークポイントで停止する Node.js インスペクターを有効にします。 |
--bail <number> | 指定された数のテストが失敗した場合、テストの実行を停止します。 |
--retry <times> | テストが失敗した場合、指定された回数だけテストを再試行します。 |
-h, --help | 利用可能な CLI オプションを表示します。 |
TIP
Vitest は、CLI 引数に対してキャメルケースとケバブケースの両方をサポートしています。たとえば、--passWithNoTests と --pass-with-no-tests はどちらも機能します(--no-color と --inspect-brk は例外です)。
Vitest は、値の指定方法も異なり、--reporter dot と --reporter=dot はどちらも有効です。
オプションが値の配列をサポートしている場合は、オプションを複数回渡す必要があります。
vitest --reporter=dot --reporter=defaultブール値オプションは、no- プレフィックスで否定できます。値を false として指定することもできます。
vitest --no-api
vitest --api=falsechanged
Type:
boolean | stringDefault:
false変更されたファイルに対してのみテストを実行します。値が指定されていない場合、コミットされていない変更(ステージング済み、未ステージングを含む)に対してテストが実行されます。
最後のコミットで行われた変更に対してテストを実行するには、
--changed HEAD~1を使用できます。コミットハッシュまたはブランチ名を渡すこともできます。forceRerunTriggers設定オプションと組み合わせると、一致するものが見つかった場合、テストスイート全体が再実行されます。
shard
Type:
stringDefault: disabled
実行するテストスイートのシャードを
<index>/<count>の形式で指定します。countは正の整数で、分割されたパーツの数です。indexは正の整数で、分割されたパーツのインデックスです。
このコマンドは、すべてのテストを
count個の等しい部分に分割し、indexの部分に含まれるテストのみを実行します。たとえば、テストスイートを 3 つのパーツに分割するには、次のようにします。shvitest run --shard=1/3 vitest run --shard=2/3 vitest run --shard=3/3
WARNING
このオプションは、--watch が有効な場合は使用できません(デフォルトでは開発時に有効)。