javascript Jest के साथ केवल एक परीक्षण चलाएँ




unit-testing jestjs (4)

बहुत सरल, मैं जेस्ट के साथ सिर्फ एक परीक्षण चलाना चाहता हूं।

मैं इसे it.only हूं। it.only या describe.only हूं। लेकिन यह अभी भी बहुत सारे परीक्षण चलाता है। मुझे लगता है कि यह मेरी आखिरी प्रतिबद्ध के बाद से सभी परीक्षण चलाता है, लेकिन यह only स्पष्ट रूप से सेट ध्वज के साथ यह व्यवहार नहीं होना चाहिए, है ना?

इस व्यवहार के कारण और एकल परीक्षण कैसे चलाया जाता है?


मेरे लिए यह काम करता है अगर मैं इस तरह 2 params का उपयोग करें:

yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"

- वॉच: वैकल्पिक है

-f: आपकी फ़ाइलों को फ़िल्टर करने का काम करेगा, इसलिए यदि आपके पास एक ही नाम के बहुत सारे परीक्षण हैं, तो सटीक फ़ाइल के लिए पूर्णपथ निर्दिष्ट करें

-t: आपके परीक्षण के 'नाम' या 'यह' नाम के साथ काम करता है


it.only और it.only केवल उस मॉड्यूल के लिए काम करते हैं जिसमें वे हैं। यदि आपको कई फ़ाइलों में परीक्षणों को फ़िल्टर करने में समस्या आ रही है, तो आप jest -t name-of-spec , फ़िल्टरिंग टेस्ट का उपयोग कर सकते हैं जो कि संबंधित नाम से मेल खाते हैं (विरुद्ध मैच वर्णन या परीक्षण में नाम)।
स्रोत: https://facebook.github.io/jest/docs/en/cli.html

उदाहरण के लिए, मैं उस परीक्षण पर ध्यान केंद्रित करता हूं, जो मैं वर्तमान में इस तरह लिख रहा हूं ( package.json स्क्रिप्ट में परीक्षण स्क्रिप्ट के साथ):
npm test -- -t "test foo"


जेस्ट परीक्षण रन को समानांतर करता है और यह पता नहीं चलता है कि इसे कौन से परीक्षण चलाने चाहिए और कौन से नहीं चलने चाहिए। इसका मतलब है जब आप "फिट" का उपयोग करते हैं, तो यह केवल उस फ़ाइल में एक परीक्षण चलाएगा लेकिन फिर भी आपकी परियोजना में अन्य सभी परीक्षण फ़ाइलें चलाएगा

fit , fdescribe and it.only , it.only का एक ही उद्देश्य है, अन्य थेल्स को छोड़ दें, केवल मुझे चलाएं।

स्रोत: https://github.com/facebook/jest/issues/698#issuecomment-177673281

जब आप अपने परीक्षण जैसे चलाते हैं, तब jest फ़िल्टरिंग तंत्र का उपयोग करें

jest --config=jest.config.json --watch

आप testname या filename द्वारा परीक्षण फ़िल्टर कर सकते हैं, बस टर्मिनल में निर्देशों का पालन करें

प्रेस p , फिर एक फ़ाइल नाम लिखें

फिर आप it.only उपयोग कर सकते हैं describe.only और it.only जो फ़िल्टर किए गए, परीक्षण किए गए फ़ाइल से अन्य सभी परीक्षणों को छोड़ देगा।


ऐसी बात हे:

jest sometest.test.js -t "some expression to match a describe or a test"

यह नाम के साथ सभी फाइलों का परीक्षण करेगा sometest.test.js और मिलान के आधार पर -t विकल्प, यदि आप केवल एक विशिष्ट फ़ाइल का परीक्षण करना चाहते हैं जो आप ऐसा कर सकते हैं:

jest src/user/.../sometest.test.js






jestjs