मेकफ़ाइल और मोचा का उपयोग करके उपफोल्डर में परीक्षण कैसे चलाएं

परीक्षण फ़ोल्डर की मेरी संरचना इस तरह दिखती है:


    
    
    

क्या एक मेकफ़ाइल लिखना संभव है जो एक फ़ोल्डर में या फ़ोल्डर के कुछ क्रमपरिवर्तन में परीक्षण निष्पादित करता है?

धन्यवाद

0

3 उत्तर

मेरा समाधान था

test:
  @./node_modules/.bin/mocha -R spec -r should --recursive
cloudApi:
  find $(CURDIR)/test/cloudApi -iname "*.js" | xargs node_modules/mocha/bin/mocha -R spec -r should 
injectors:
  find $(CURDIR)/test/injectors -iname "*.js" | xargs node_modules/mocha/bin/mocha -R spec -r should  

.PHONY: test cloudApi injectors

और निष्पादन स्वयं जैसा दिखता है: मोचा परीक्षण/क्लाउडएपीआई/इंजेक्टर ...

0
जोड़ा

निश्चित रूप से यह संभव है:

# I like to allow the user to override the default mocha with whatever
# they want in case they are running an experimental version.
MOCHA?=mocha

# Useful to pass ad hoc parameters to mocha.
MOCHA_PARAMS?=

# To work around the fact that commas are argument separators.
comma:=,

.PHONY: test test%

# Do all the tests.
test:
    $(MOCHA) --recursive $(MOCHA_PARAMS)

# Allows for combining tests in an ad hoc manner.
test%:
        $(MOCHA) $(MOCHA_PARAMS) $(foreach test,$(subst $(comma), ,$(@:test%=%)),test/test$(test))

अंतिम लक्ष्य आपको इस तरह की चीजों को करने की अनुमति देता है:

make test1 # runs the tests in test/test1 only
make test1,2 # runs the tests in test/test1 and test/test2
make test1,2,3 # runs the tests in test/test1, test/test2, test/test3
make test1,3 # runs the tests in test/test1, and test/test3

अंतिम लक्ष्य में क्या होता है कि लक्ष्य नाम (जैसे test1,2 ) में test उपसर्ग छीन लिया गया है, कोमा पर विभाजित किया गया है और फिर प्रत्येक टुकड़े में परीक्षण/परीक्षण इसके लिए प्रीपेड किया गया।

यदि आप इसका परीक्षण करना चाहते हैं, तो ऊपर दिए गए कोड को मेकफ़ाइल में कॉपी करें और बस test निर्देशिका बनाएं और test1 , test2 नाम की उप-निर्देशिकाओं की संख्या बनाएं। , ... testN इसके अंतर्गत।

0
जोड़ा

बिल्कुल उपयोग करने की कोई ज़रूरत नहीं है। अपने पैकेज के स्क्रिप्ट अनुभाग में निम्नलिखित जोड़ने का प्रयास करें। जेसन:

"test": "mocha -R spec --recursive",
"test1": "mocha -R spec test/test1",
"test2": "mocha -R spec test/test2",
"test3": "mocha -R spec test/test3",
"test13": "mocha -R spec test/test1 test/test3",

फिर, आप npm test या npm रन टेस्ट या npm run test13 कर सकते हैं।

0
जोड़ा