2017-03-16 5 views
34

मेरे पास फाइल फिक्स-ऑर्डर-test.js के भीतर 'नेस्टेड बच्चों के साथ काम करता है' परीक्षण है।मैं जेस्ट का उपयोग कर एक परीक्षण कैसे चला सकता हूं?

नीचे चलाना फ़ाइल में सभी परीक्षण चलाता है।

jest fix-order-test 

मैं केवल एक ही परीक्षण कैसे चला सकता हूं? नीचे काम नहीं करता है क्योंकि यह निर्दिष्ट रेगेक्स की एक फ़ाइल की खोज करता है।

jest 'works with nested children' 
+0

https://facebook.github.io/jest/docs/api.html#testonlyname-fn – BioGenX

उत्तर

48

कमांड लाइन से आदेश इस चलेंगे --testNamePattern या -t झंडा

jest -t 'fix-order-test' 

का उपयोग सभी परीक्षण लेकिन उन लोगों को छोड़ दें जो परीक्षण नाम से मेल नहीं खाते हैं। docs

एक और तरीका घड़ी मोड jest --watch में परीक्षण चलाने के लिए है और फिर परीक्षण नाम टाइप करके परीक्षण फ़िल्टर करने के लिए p दबाएं।

+0

काम नहीं करेगा मैं आयकर के लिए गैर मान्यता प्राप्त विकल्पों हो रही है। हां, दस्तावेज़ीकरण इसका जिक्र करता है। ध्वज 16.0 में जोड़ा गया है। मैं नवीनतम संस्करण पर हूं। जेस्ट -हेल्प ध्वज का जिक्र नहीं कर रहा है। धन्यवाद। – vijayst

+1

बस एक ध्यान दें कि यह विशेष परीक्षा नाम अंदर 'यह()' समारोह और नहीं फ़ाइल नाम के लिए परीक्षण पैटर्न है। मैंने जो सोचा था। – HussienK

21

jest documentation की सिफारिश की निम्नलिखित: एक परीक्षण विफल हो रहा है

, तो सबसे पहले चीजों में से एक कि परीक्षण जब यह केवल परीक्षण है कि चलाता है विफल हो रहा है होना चाहिए की जाँच करने के। जेस्ट में यह केवल एक परीक्षण चलाने के लिए आसान है - बस अस्थायी रूप से बदल कि test एक test.only

test.only('this will be the only test that runs',() => { 
    expect(true).toBe(false); 
}); 
+7

पर एक नज़र डालें, लेकिन यह काम नहीं करता है ... जेस्ट 20.0.4 –

+1

जेस्ट 20.0.4 के साथ मेरे लिए काम करता है । हालांकि यह केवल उस फ़ाइल में बाकी परीक्षणों को छोड़ देता है। अन्य फ़ाइलों में टेस्ट चलते रहेंगे, जब तक कि आप पहले से ही एक फ़ाइल को रन प्रतिबंधित नहीं कर देते हैं। – Holf

+1

हालांकि यह एक जबरदस्त चीज है - क्योंकि यह परीक्षण को असीमित रूप से चलाता है, यह शायद यह निर्धारित नहीं कर सकता कि कौन सी परीक्षा शुरुआत से फ़ाइल में चलती है। तो यह डिफ़ॉल्ट रूप से सभी फ़ाइलों को चलाएगा और फ़ाइलों के भीतर 'test.only' के लिए जांच करेगा। तो अगर आप केवल कि आप दुर्भाग्य है कि एक फ़ाइल को चलाने के लिए है कई फाइलों के होते हैं testcases का एक सूट के भीतर कई परीक्षण मामलों है कि एक फ़ाइल के भीतर एक परीक्षण चलाना चाहते हैं 'हंसी myTestFile.test.js' – flaky

5

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

तो एक एकल परीक्षण चलाने के लिए, वहाँ दो दृष्टिकोण हैं:

विकल्प 1: अपने परीक्षण नाम अद्वितीय है, तो आप t जबकि घड़ी मोड में दर्ज करें और परीक्षण के नाम पर आप चाहते दर्ज कर सकते हैं चलाने के लिए पसंद है।

विकल्प 2:

  1. मारो p जबकि घड़ी मोड में फ़ाइल नाम आप चलाना चाहते हैं के लिए एक regex दर्ज करने के लिए। (जब आप घड़ी मोड में जेस्ट चलाते हैं तो इस तरह के प्रासंगिक आदेश प्रदर्शित होते हैं)।
  2. उस परीक्षण पर it से it.only बदलें जो आप चलाना चाहते हैं।

उपरोक्त दृष्टिकोणों में से किसी एक के साथ, जेस्ट केवल आपके द्वारा निर्दिष्ट फ़ाइल में एकल परीक्षण चलाएगा।

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

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