Jest beforeAll() は複数のテストファイル間で共有されます 質問する

Jest beforeAll() は複数のテストファイル間で共有されます 質問する

Jest を使用してテストしている Node.js プロジェクトがあります。同じセットアップ要件を持つテスト ファイルがいくつかあります。以前は、これらのテストはすべて 1 つのファイルに含まれていたため、beforeAll(...)共通のセットアップを実行する がありました。現在、テストが複数のファイルに分割されているため、beforeAll(...)各ファイルにそのコードをコピー/貼り付けする必要があるようです。これは洗練されていないようです。これを行うより良い方法はありますか。理想的には、beforeAll(...)/setup ロジックを 1 回記述し、複数のテスト ファイルからそれを "要求" するだけですか? テスト スイートには、このセットアップ機能を必要としない他のテストがあるため、全て私のテストではこの設定を実行します (テスト ファイルの特定のサブセットのみ)。

ベストアンサー1

Jest >=20 を使用している場合は、この共通設定を必要とするテスト用にカスタムを作成することを検討してください。これは、またはのいずれかを拡張し、この設定作業を行うために、、を実装するjest-environmentモジュールになります。jest-environment-nodejest-environment-jsdomasync setup()async teardown()async runScript()

@jest-environment my-custom-envその後、この設定を必要とするファイルにディレクティブを追加できます。

Jestの設定ドキュメントを参照してくださいtestEnvironment設定方法の詳細については、簡単な例を参照してください。

おすすめ記事