2016-12-25 10 views
7

के साथ दो वातावरण परीक्षण करना मैं दो अलग-अलग वातावरण सेट करना चाहता हूं और घड़ी मोड में चलाने में सक्षम होना चाहता हूं।जेस्ट

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

असल में मैं प्रत्येक परिवेश के लिए दो बार हंसी चलाने के लिए, प्रत्येक के लिए एक अलग कॉन्फ़िग फ़ाइल प्रदान:

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

लेकिन यह नहीं करता है मुझे दोनों एक ही समय में चलाते हैं।

उत्तर

4

संपादित करें (जनवरी 2018):

अब यह (जेस्ट v20 के बाद से) ऐसा करने के लिए संभव है, और विकल्प projects कहा जाता है। it the docs के बारे में और पढ़ें।

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

बस इतना ध्यान रखें कि हर परियोजना के लिए अपने स्वयं config की जरूरत है:

मूल रूप से आप अपनी परियोजनाओं की एक सरणी आप चाहते हैं जेस्ट के भीतर चलाने के लिए परिभाषित कर सकते हैं। यदि आप कॉन्फ़िगरेशन को स्वचालित रूप से उठाया जाना चाहते हैं, तो इसे jest.config.js फ़ाइल या आमतौर पर package.json में डालें।

आप कहीं और (configs/jest.js में जैसे) अपने config रखने पसंद करते हैं, तो आप (rootDir विकल्प ठीक से सेट के साथ) कॉन्फ़िग फ़ाइल का पथ को इंगित करना होगा:

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

मूल जवाब :

वर्तमान में यह संभव नहीं है, लेकिन उस मामले के लिए कोई समस्या है: https://github.com/facebook/jest/issues/1206

कूदने और एक टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें!

+0

मुझे लगता है कि यह जेस्ट 20+ के साथ संभव है। आप इसे अभी कैसे ठीक से सेट अप करते हैं? क्या मुझे अलग jest.config.js की आवश्यकता है, उदाहरण के लिए? * संपादित करें *: ठीक है, इसलिए मुझे एक समाधान मिला: एक तरीका मैंने इसे किया है, यह मेरी मूल शीर्ष-स्तर की जेस्ट कॉन्फ़िगरेशन लेता है, और इसे मेरे मूल वातावरण के लिए 'प्रोजेक्ट' सरणी में रखता है, और फिर दूसरी कॉन्फ़िगरेशन को परिभाषित करता है मेरे नोड पर्यावरण के लिए। यह एक (1) jest.config.js फ़ाइल परिभाषित के साथ काम करने लग रहा था! –

+0

बढ़िया आपने इसे काम किया! आप अपनी परियोजनाओं, या यहां तक ​​कि एक ग्लोब के पथों की एक सरणी भी पारित कर सकते हैं, जहां प्रत्येक प्रोजेक्ट को किसी प्रकार की कॉन्फ़िगरेशन (या तो 'jest.config.js' या 'pest.json' में' jest' प्रविष्टि) की आवश्यकता होती है। –

संबंधित मुद्दे