コマンドラインインターフェース
コマンド
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.js
TIP
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=false
changed
Type:
boolean | string
Default:
false
変更されたファイルに対してのみテストを実行します。値が指定されていない場合、コミットされていない変更(ステージング済み、未ステージングを含む)に対してテストが実行されます。
最後のコミットで行われた変更に対してテストを実行するには、
--changed HEAD~1
を使用できます。コミットハッシュまたはブランチ名を渡すこともできます。forceRerunTriggers
設定オプションと組み合わせると、一致するものが見つかった場合、テストスイート全体が再実行されます。
shard
Type:
string
Default: 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
が有効な場合は使用できません(デフォルトでは開発時に有効)。