web-dev-qa-db-ja.com

jestで2つの環境をテストする

2つの異なる環境を設定し、両方を監視モードで実行できるようにしたいと考えています。

|-- /server
|     |-- index.js  <-  Node
|-- /client
|     |-- index.js  <-  jsdom
|-- package.json

実際には、環境ごとに2回jestを実行し、それぞれに異なる構成ファイルを提供しています。

$ yarn test -- --config=server.config.json
$ yarn test -- --config=client.config.json 

しかし、これでは同時に両方を実行できません。

20
Juan Je García

EDIT(Jan 2018):

これが可能になりました(Jest v20以降)。このオプションはprojectsと呼ばれます。 it the docs の詳細をご覧ください。

基本的に、Jestを実行するプロジェクトの配列を定義できます。

{
  "projects": ["<rootDir>/client", "<rootDir>/server", "<rootDir>/some-glob/*"]
}

すべてのプロジェクトに独自の構成が必要であることを覚えておいてください。設定を自動的に取得したい場合は、jest.config.jsファイル内に配置するか、通常はpackage.jsonに配置します。

構成を別の場所に配置する場合(たとえば、configs/jest.js内)、構成ファイルのパスを指す必要があります(rootDirオプションを適切に設定して):

{
  "projects": ["<rootDir>/client/configs/jest.js", "<rootDir>/server/configs/jest.js"]
}

元の回答:

現在、これは不可能ですが、その場合は問題があります: https://github.com/facebook/jest/issues/1206

気軽にジャンプしてコメントを残してください!

18