मेरे npm पैकेज में, मैं पैटर्न उल्का का अनुसरण करना चाहूंगा: एक स्रोत फ़ाइल (नाम client.js
) के पास एक परीक्षण फ़ाइल है (नाम दिया गया है client.tests.js
) में रहते हैं src/
फ़ोल्डर। टेस्ट साथ चलते हैं npm test
आदेश।
मैं "t" के उपयोग डॉक्स का अनुसरण कर रहा हूं। मैं उपयोग नहीं करना चाहता find
मेरे पैकेज टेस्ट कमांड में।
मैं समझता हूं कि मोचा पुनरावर्ती परीक्षण कर सकता है:
मोचा - संक्षिप्त
मैं समझता हूं कि मोचा एक विशिष्ट सबफ़ोल्डर में परीक्षण का उपयोग कर सकता है
--recursive
झंडा:मोचा src - संक्षिप्त
मैं यह भी समझता हूं कि मैं एक ग्लोब को फ़ाइलों को फ़िल्टर करके निर्दिष्ट कर सकता हूं
*.tests.js
:mocha * .tests.js
लेकिन, मुझे तीनों चाहिए। मैं केवल समाप्त होने वाली फाइलों का परीक्षण करना चाहता हूं tests.js
src फोल्डर में, रीसर्चुअली सबटैक्टरी की जाँच करें।
mocha --recursive *.tests.js
// See the files?
$ > ll ./src/app/
total 168
-rw-r--r-- ... client.js
-rw-r--r-- ... client.tests.js
// Option A
$ > mocha --recursive *.tests.js
Warning: Could not find any test files matching pattern: *.tests.js
No test files found
// Option B
$ > mocha *.tests.js --recursive
Warning: Could not find any test files matching pattern: *.tests.js
No test files found.
// Option C
$ > mocha --recursive src/app/*.tests.js
3 passing (130ms)
3 failing
इसलिए...
- मोचा क्यों नहीं उठा रहा है
*.tests.js
सबफ़ोल्डर्स में फाइलें? - यदि मैं फ़ाइल में पूर्ण पथ निर्दिष्ट करता हूं तो यह क्यों काम करता है?
- मैं इसे इच्छानुसार कैसे काम करूँ?
उत्तर:
उत्तर № 1 के लिए 26The --recursive
झंडा निर्देशिका पर काम करने के लिए होती है । यदि आप एक ग्लोब है कि निर्देशिका से मेल खाता पास थे, तो इन निर्देशिका recursively जांच की जाएगी, लेकिन अगर आप एक ग्लोब है कि फ़ाइलों से मेल खाता है, जैसे आप कर रहे हैं, तो पारित --recursive
बेअसर है। मैं उपयोग नहीं करने का सुझाव दूंगा --recursive
ग्लोब के साथ क्योंकि ग्लोब्स में पहले से ही उपनिदेशकों में पुनरावृत्ति देखने की क्षमता है।आप कर सकते हैं:
mocha "src/app/**/*.tests.js"
यह मैच करने वाली सभी फाइलों से मेल खाएगा *.tests.js
में पुनरावर्ती src/app
। ध्यान दें कि मैं कैसे के आसपास एकल उद्धरण का उपयोग कर रहा हूँपैटर्न। यह पैटर्न को कोट करना है ताकि इसे पास कर दिया जाए-यह मोचा के ग्लोबिंग कोड के लिए है। अन्यथा, आपकी व्याख्या इसकी व्याख्या कर सकती है। विकल्पों के आधार पर कुछ गोले, अनुवाद करेंगे। **
में *
और आप जीते "टी परिणाम आप चाहते हैं।