Jest CLI Options
jest
のコマンドラインランナーは多くの便利なオプションを持っています。 jest --help
を実行することで使用可能な全てのオプションを見ることができます。 以下に示すオプションの多くは任意のテストを実行する際に利用できます。 Jestの各設定オプションはCLI経由で指定する事ができます。
以下に簡単な概要を示します。
コマンドラインから実行する #
全てのテストを実行する(既定値):
jest
パターンやファイル名で指定されたテストのみ実行する:
jest my-test #or
jest path/to/my-test.js
Hgやgit(の未コミットファイル) に基づいて変更のあったファイルに関連したテストを実行する:
jest -o
path/to/fileA.js
と path/to/fileB.js
に関連したテストを実行する:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
スペック名に一致するテストを実行する(基本的には describe
またはtest
内にある名前との一致を確認する):
jest -t name-of-spec
ウォッチモードで実行する:
jest --watch #runs jest -o by default jest --watchAll #runs all tests
ウォッチモードにより特定のテストセットにフォーカスするためにファイル名やファイルパスを特定することも可能となります。
npm scriptsを使用する #
npm test
でJestを実行する場合、npm test
とJestの引数との間に --
を指定することで、コマンドライン引数を使用することができます。これの代わりに:
jest -u -t="ColorPicker"
このように使用できます:
npm test -- -u -t="ColorPicker"
CLIのオプションはConfigurationの設定値に優先します。
オプション #
リファレンス #
jest <regexForTestFiles>
#
引数を付けて jest
コマンドを実行した場合、その引数はプロジェクト配下のファイルを照合する正規表現として扱われます。 パターンを与えてテストスイートを実行することができます。 パターンに一致するファイルだけが選択され、実行されます。 注意: 端末によっては引数をクオートで囲む必要がある場合があります: jest "my.*(complex)?pattern"
。
--bail
#
別名: -b
。最初に失敗したテストの直後にテストスイートを終了します。
--cache
#
キャッシュを使用するかを指定します。 既定値ではtrueです。 キャッシュを無効化するには --no-cache
を指定します。 注意: キャッシュの無効化はキャッシュに関連した問題が発生した場合のみ行って下さい。 概して、キャッシュの無効化によりJestの実行時間は2倍になります。
キャッシュを調査したりクリアしたい場合は、 --showConfig
を指定して cacheDirectory
の値を確認して下さい。
--ci
#
このオプションが指定された場合、Jestは CI 環境で実行されていると仮定します。 この事によって新しいスナップショットが発生したときの挙動が変わります。 自動的に新しいスナップショットを保存する通常の動作ではなく、テストを失敗させてJestに --updateSnapshot
オプションを指定するように要求します。
--collectCoverageFrom=<glob>
#
カバレッジ情報を収集するために必要なファイル名と照合させるglobパターンをルートディレクトリからの相対パスで指定します。
--colors
#
標準出力が端末でなくても強制的にテスト結果を強調して表示します。
--config=<path>
#
別名: -c
。 テストの探索と実行の方法を指定するjestの設定ファイルのパスを引数に指定します。 設定ファイルにrootDir
が設定されていなければ、カレントディレクトリをプロジェクトのrootDirと推定します。 引数にJSON形式の値を与えることでもJestは設定として使用します。
--coverage
#
テストのカバレッジ情報が収集され出力に表示されるべきであることを指定します。
--debug
#
Jestの設定に関するデバック情報を出力します。
--env=<environment>
#
すべてのテストに使用するテスト環境を指定します。任意のファイルまたはnodeのモジュールを指定できます。例: jsdom
、ノード
または path/to/my-environment.js
。
--expand
#
別名: -e
。このフラグを指定すると差分とエラーを一部ではなく全体表示します。
--findRelatedTests <spaceSeparatedListOfSourceFiles>
#
引数として与えられたスペース区切りのソースファイルのリストからテストを探索し実行します。必要最小限のテストをコミット前の連携フックスクリプトで実行したい場合に便利です。
--forceExit
#
全テストが終了した後にJestを強制的に終了します。 テストコードにてリソースを適切にクリーンアップできない場合に便利です。 注意: この機能は緊急の避難口のようなものです。 Jestがテスト実行後に終了しなければ、外部リソースが占有されたままであったり、タイマー処理がコードを保留したままであるという事です。 Jestが正常に終了できるよう各テスト後に外部リソースを開放することをお勧めします。
--help
#
このページと同様に、ヘルプ情報を表示します。
--json
#
JSON形式でテスト結果を出力します。このモードでは他の全てのテストに関する出力やユーザメッセージを標準エラー出力に出力します。
--outputFile=<filename>
#
--json
が同時に指定された場合にテスト結果をファイルに出力します。
--lastCommit
#
最後尾のコミットでの変更に影響を受ける全てのテストを実行します。
--listTests
#
Jestが引数を与えられて実行する全てのテストをJSON形式で一覧表示し、終了します。--findRelatedTests
オプションと同時に指定することで、Jestがどのテストを実行したのかを確認できます。
--logHeapUsage
#
各テスト後にヒープ使用率を記録します。メモリリークのデバッグに役立ちます。nodeで-runInBand
と --expose-gc
を指定して一緒に使用して下さい。
--maxWorkers=<num>
#
別名: -w
。 テスト実行のためにworker-poolが生成するworkerの最大数を指定します。 既定値ではテストを実行するマシンで利用できるコア数となります。 CIのようにリソースに制限のある環境ではこの数値を調整することが役に立つかもしれませんが、大抵のケースでは既定値が適切な値となるでしょう。
--noStackTrace
#
テスト結果でスタックトレースを出力しません。
--notify
#
テスト結果の通知を有効にします。JavaScriptのテスト以外の何かに意識を集中させてしまいたくない場合に適しています。
--onlyChanged
#
別名: -o
。 現在のリポジトリでそのファイルに変更があったかに基づいて、どのテストを実行するのかを識別しようとします。 git/hgのリポジトリでテストを実行した場合のみ動作し、静的な依存グラフが必要です (言い換えると動的な依存グラフは必要ありません)。
--projects <project1> ... <projectN>
#
1つまたは複数のプロジェクトからテストを実行します。
--runInBand
#
別名: -i
。子プロセスのworker poolを作成せずに現在のプロセスで全てのテストを1つずつ実行します。デバッグ時に便利です。
--setupTestFrameworkScriptFile=<file>
#
各テストの前にテストフレームワークの設定やセットアップを行うコードを実行するモジュールのパスを指定します。セットアップ用スクリプトで読み込まれたファイルはテスト中でモックされないことに注意して下さい。
--showConfig
#
Jestの設定を表示して終了します。
--silent
#
コンソール経由でメッセージを表示しないようにします。
--testNamePattern=<regex>
#
別名: -t
。正規表現に一致する名前のテストのみ実行します。
--testPathPattern=<regex>
#
テスト実行前に全てのテストのパスに対して照合する正規表現の文字列を指定します。
--testRunner=<path>
#
カスタムテストランナーを指定します。
--updateSnapshot
#
別名: -u
。 テスト実行中に失敗した全てのスナップショットを再取得する場合にこのフラグを指定します。 スナップショットを再取得するためにテストスイートのファイル名のパターンや --testNamePattern
オプションを同時に利用することができます。
--useStderr
#
全ての出力を標準エラー出力へ向けます。
--verbose
#
各テストごとの結果をテストスイートの階層構造とともに表示します。
--version
#
別名: -v
。バージョンを表示して終了します。
--watch
#
ファイルの変更を監視し、そのファイルに関連するテストを再実行します。ファイル変更時に全テストを再実行したい場合は、 --watchAll
オプションを指定して下さい。
--watchAll
#
ファイルを監視し、何らかの変更があった場合に全テストを再実行します。変更されたファイルに依存するテストのみ再実行したい場合は、--watch
オプションを指定して下さい。
--watchman
#
ファイルの監視にwatchmanを使用するかを指定します。使用しない場合は--no-watchman
オプションを指定して下さい。