web-dev-qa-db-ja.com

現在のフォルダーに対してのみJestテストを実行する

マシンにJestをインストールし、ターミナルからjestと入力すると、親フォラーからのテストも実行されます。現在のフォルダーからのみテストを実行したい。

たとえばターミナルのc:/dev/appにアクセスしてsome-jest-commandと入力した場合、appフォルダーに.test.jsが存在するファイルのみを実行する必要があります。現在、jestフォルダーからappコマンドを実行すると、親フォルダーでもテストが実行されますが、これは望ましい動作ではありません。

9
maverick

デフォルトでは、Jestはpackage.jsonが配置されているフォルダーからすべてを再帰的にテストしようとします。

あなたがc:/dev/appにいて、あなたのpackage.jsonc:にいるとしましょう。 Jestを呼び出す基本的なコマンドがnpm testの場合は、npm test dev/appを実行してみてください。

17

特定のディレクトリでのみテストを実行し、特定の種類のファイルのみを読み取るようにJestを強制するには(私の例:新しいJestバージョン@ 24.9.0で 'ExampleComponent.test.js'を使用して、jest.configに正確な "testMatch"を記述する必要があります。 json ||「jest」部分のpackage.json next _"testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ]_、私の場合、このtestMatchは、tests/subdirectories /のプレフィックス.test.jsを持つすべてのファイルにヒットし、他のすべてのファイルをスキップします「setupTest.js」と「mocks」サブディレクトリ内の他の.jsファイルは、「tests」ディレクトリ内に配置されるため、「jest.config.json」この{ "setupFiles": [ "raf/polyfill", "<rootDir>/setupTests.js" ], "snapshotSerializers": [ "enzyme-to-json/serializer" ], "moduleNameMapper": { "^.+\\.(css|less|scss|sass)$": "identity-obj-proxy" }, "testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ] }のようになります。

「testMatch」正規表現のニーズに適応するだけです。

ちょっとした注意:これは[email protected]と&&[email protected]の場合、誰にとっても重要です。

私はそれが誰かに役立つことを願っています、みんな応援します。

0
Goran7777