非常に単純です。Jestで1つのテストだけを実行したいと思います。
私は置くit.only
かdescribe.only
、しかしそれはまだたくさんのテストを実行します。前回のコミット以降、すべてのテストを実行すると思いますが、only
フラグを明示的に設定した状態でこの動作を行うべきではありませんか?
この動作の原因と単一のテストの実行方法は何ですか?
非常に単純です。Jestで1つのテストだけを実行したいと思います。
私は置くit.only
かdescribe.only
、しかしそれはまだたくさんのテストを実行します。前回のコミット以降、すべてのテストを実行すると思いますが、only
フラグを明示的に設定した状態でこの動作を行うべきではありませんか?
この動作の原因と単一のテストの実行方法は何ですか?
回答:
Jestはテストの実行を並列化し、どのテストを実行する必要があり、どのテストを実行しないかを事前に認識していません。つまり、「fit」を使用すると、そのファイルで1つのテストのみが実行されますが、プロジェクト内の他のすべてのテストファイルは実行されます。
fit
、fdescribe
そしてit.only
、describe.only
私だけを実行し、他のテストをスキップし、同じ目的を持っています。
ソース:https://github.com/facebook/jest/issues/698#issuecomment-177673281
次のjest
ようなテストを実行するときは、フィルタリングメカニズムを使用してください
jest --config=jest.config.json --watch
ターミナルの指示に従うだけで、testname
またはfilename
でテストをフィルタリングできます
を押してp
、ファイル名を入力します
次に、を使用describe.only
しit.only
て、フィルタリングされ、テストされたファイルから他のすべてのテストをスキップします。
.only
、同じファイルのテストでのみ機能しますか?
it.only
か、it.skip
構文エラーが含まれている単一のテストのために、すべてのテストは失敗します。もちろん、パターンで除外されたファイルのコードは実行されません。imgur.com/z9FlQEZ
if.only
、カルーセルコンポーネントのconsole.logsを何度も使用しても、ウォッチパターンでそのコンポーネントのスキップ/スキップ解除されたテストがあります。
it.only
そしてdescribe.only
あなたは、複数のファイル内のフィルタのテストに問題がある場合にのみ、彼らはしているモジュールのための仕事。は、使用することができますjest -t name-of-spec
(記述またはテストに名前戦)スペック名と一致するテストをフィルタリングし、。
ソース:https://facebook.github.io/jest/docs/en/cli.html
たとえば、私は現在このように書いているテストに焦点を合わせています(テストスクリプトはpackage.json
):
npm test -- -t "test foo"
describe
ブロック)に存在する文字列引数を渡しているということです。その場合は、焦点を当てたい正確なテスト名に絞り込む必要があります。
こんな感じです:
jest sometest.test.js -t "some expression to match a describe or a test"
sometest.test.js
-tオプションに基づいて名前と一致するすべてのファイルをテストします。特定のファイルのみをテストする場合は、次のようにします。
jest src/user/.../sometest.test.js
launch.json
:特定のテストケースでテストをトリガする設定ファイルmedium.com/better-programming/...
私にとっては、次のような2つのパラメータを使用すると機能します。
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
フラグ:
--watch: is optional
-f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file
-t: works with 'describe' name or 'it' name of your test