2016-12-25 9 views
7

私は2つの異なる環境を設定し、時計モードで両方を実行できるようにしたいと思います。jestを使用して2つの環境をテストする

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

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

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

は、実際に私はそれぞれに異なった設定ファイルを提供し、それぞれの環境のために二回冗談を実行します。

答えて

4

EDIT(2018年1月):

(冗談のV20以降)そうすることが可能になりました、そしてオプションがprojectsと呼ばれています。 it the docsについてもっと読む。

{ 
    "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"] 
} 

ORIGINAL ANSWER :

現在のところ、これはできませんが、この場合の問題はhttps://github.com/facebook/jest/issues/1206です。

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

+0

これはJest 20+で可能です。あなたはこれを今どのように適切に設定していますか?たとえば、別のjest.config.jsが必要ですか? * EDIT *:解決策が見つかりました: 元のトップレベルのジスト設定を元の環境の 'projects'配列に配置してから、2番目の設定私のノード環境用。 jest.config.jsファイルが1つ定義されていると思われます。 –

+0

あなたはそれをうまくいった!また、あなたのプロジェクトにパスの配列を渡すこともできます。各プロジェクトには何らかの設定( 'jest.config.js'または' package.json'の 'jest'エントリ)が必要です。 –

関連する問題