node.js - मोचा के साथ कोड कवरेज




unit-testing code-coverage (2)

Blanket.js भी सही काम करता है।

npm install --save-dev blanket

आपके परीक्षण / test.js के सामने

require('blanket')({
    pattern: function (filename) {
        return !/node_modules/.test(filename);
    }
});

mocha -R html-cov > coverage.html चलाएं

मैं अपने नोडजेएस आवेदन का परीक्षण करने के लिए मोचा का उपयोग कर रहा हूं। मैं यह समझने में सक्षम नहीं हूं कि इसकी कोड कवरेज सुविधा का उपयोग कैसे करें। मैंने इसे गुगल करने की कोशिश की लेकिन मुझे कोई उचित ट्यूटोरियल नहीं मिला। कृपया मदद करे।


अब ( 2018 ) istanbul का उपयोग करने का पसंदीदा तरीका इसकी "कला कमांड लाइन इंटरफेस की स्थिति" nyc

सेट अप

सबसे पहले, इसे अपने प्रोजेक्ट में इंस्टॉल करें

npm i nyc --save-dev

फिर, यदि आपके पास एनपीएम आधारित प्रोजेक्ट है, तो अपने mocha परीक्षणों के कोड कवरेज को निष्पादित करने के लिए बस अपनी package.json फ़ाइल की scripts ऑब्जेक्ट के अंदर टेस्ट स्क्रिप्ट बदलें:

{
  "scripts": {
    "test": "nyc --reporter=text mocha"
  }
}

रन

अब अपने परीक्षण चलाएं

npm test

और आपके परीक्षण आउटपुट के ठीक बाद, आप अपने कंसोल में इस तरह की एक टेबल देखेंगे:

अनुकूलन

एचटीएमएल रिपोर्ट

महज प्रयोग करें

nyc --reporter=html

text बजाय। अब यह एक रिपोर्ट तैयार करेगा ./coverage/index.html

रिपोर्ट प्रारूप

इस्तांबुल रिपोर्ट प्रारूपों की एक विस्तृत श्रृंखला का समर्थन करता है। आपके लिए सबसे उपयोगी खोजने के लिए बस इसकी रिपोर्ट लाइब्रेरी देखें । बस अपने --reporter=REPORTER_NAME प्रारूप के लिए एक - --reporter=REPORTER_NAME विकल्प जोड़ें। उदाहरण के लिए, के साथ

nyc --reporter=html --reporter=text

आपके पास कंसोल और एचटीएमएल रिपोर्ट दोनों होगी।

एनपीएम परीक्षण के साथ कवरेज न चलाएं

बस अपने package.json में एक और स्क्रिप्ट जोड़ें और केवल टेस्ट स्पीकर (उदाहरण के लिए मोचा) के साथ test स्क्रिप्ट छोड़ दें:

{
  "scripts": {
    "test": "mocha",
    "test-with-coverage": "nyc --reporter=text mocha"
  }
}

अब इस कस्टम स्क्रिप्ट को चलाएं

npm run test-with-coverage

कोड कवरेज के साथ परीक्षण चलाने के लिए।

कोड कवरेज कम होने पर बल परीक्षण विफल हो रहा है

विफल अगर कुल कोड कवरेज 90% से कम है:

nyc --check-coverage --lines 90 

विफल अगर कम से कम एक फ़ाइल का कोड कवरेज 90% से कम है:

nyc --check-coverage --lines 90 --per-file




mocha