Mocha और के साथ परीक्षणों को अनुकूलित और व्यवस्थित करना Chai

सॉफ़्टवेयर विकास प्रक्रिया में, परीक्षण चरण में सटीकता और दक्षता सुनिश्चित करने के लिए परीक्षणों को अनुकूलित और व्यवस्थित करना महत्वपूर्ण है। इस लेख में, हम यह पता लगाएंगे कि Node.js के साथ Mocha और उसमें परीक्षणों को कैसे अनुकूलित और व्यवस्थित किया जाए। Chai

परीक्षणों को अनुकूलित और व्यवस्थित करने से परीक्षण प्रक्रिया में सुधार होता है, त्रुटियाँ कम होती हैं और आपके एप्लिकेशन की विश्वसनीयता बढ़ती है। इन तकनीकों को लागू करके, आप Mocha और का उपयोग करके अपने Node.js प्रोजेक्ट में परीक्षणों को प्रभावी ढंग से प्रबंधित और निष्पादित कर सकते हैं Chai ।

 

परीक्षण संगठन:

  • कार्यक्षमता के आधार पर परीक्षणों को वर्गीकृत करना: कार्यक्षमता के आधार पर परीक्षणों को व्यवस्थित करने से आपके प्रोजेक्ट में प्रत्येक विशिष्ट सुविधा के लिए परीक्षण लक्ष्यों को प्रबंधित करना और पहचानना आसान हो जाता है।
  • नेस्टेड वर्णनों का उपयोग करें: परीक्षणों के आयोजन के लिए एक पदानुक्रमित संरचना बनाने के लिए नेस्टेड वर्णनों का उपयोग करें। यह आपके परीक्षण सूट के लिए एक स्पष्ट और पठनीय संरचना बनाए रखने में मदद करता है।

 

परीक्षण से पहले और बाद में सेटअप और टियरडाउन कार्य करने के लिए हुक का उपयोग करना

  • हुक का उपयोग: परीक्षण से पहले और बाद के ऑपरेशन करने के लिए, , और जैसे Mocha हुक प्रदान करता है । हुक का उपयोग करने से समय बचाने और परीक्षणों के समग्र प्रदर्शन में सुधार करने में मदद मिलती है। before after beforeEach afterEach
  • उपयोग skip और only निर्देश: skip निर्देश आपको विकास के दौरान अनावश्यक परीक्षणों को छोड़ने की अनुमति देता है। निर्देश only विशिष्ट परीक्षण चलाने में सक्षम बनाता है, जो तब उपयोगी होता है जब आपको कोडबेस के केवल एक छोटे हिस्से का परीक्षण करने की आवश्यकता होती है।

उदाहरण:

describe('Calculator',() => {  
  beforeEach(() => {  
    // Set up data for all tests within this describe block  
  });  
  
  afterEach(() => {  
    // Clean up after running all tests within this describe block  
  });  
  
  describe('Addition',() => {  
    it('should return the correct sum',() => {  
      // Test addition operation  
    });  
  
    it('should handle negative numbers',() => {  
      // Test addition with negative numbers  
    });  
  });  
  
  describe('Subtraction',() => {  
    it('should return the correct difference',() => {  
      // Test subtraction operation  
    });  
  
    it('should handle subtracting a larger number from a smaller number',() => {  
      // Test subtraction when subtracting a larger number from a smaller number  
    });  
  });  
});  

 

परीक्षणों को समूहीकृत करना और संगठन के लिए वर्णन ब्लॉकों का उपयोग करना

परीक्षणों को एक साथ व्यवस्थित और समूहित करने के लिए, हम describe परीक्षण ढांचे में ब्लॉक का उपयोग कर सकते हैं Mocha । ब्लॉक describe हमें किसी विशिष्ट विषय या उद्देश्य के आधार पर संबंधित परीक्षणों को समूहीकृत करने की अनुमति देता है।

describe किसी वस्तु से संबंधित परीक्षणों को व्यवस्थित करने के लिए ब्लॉक का उपयोग करने का एक उदाहरण यहां दिया गया है Calculator:

const { expect } = require('chai');  
  
class Calculator {  
  add(a, b) {  
    return a + b;  
  }  
  
  subtract(a, b) {  
    return a- b;  
  }  
  
  multiply(a, b) {  
    return a * b;  
  }  
  
  divide(a, b) {  
    if(b === 0) {  
      throw new Error('Cannot divide by zero');  
    }  
    return a / b;  
  }  
}  
  
describe('Calculator',() => {  
  let calculator;  
  
  beforeEach(() => {  
    calculator = new Calculator();  
  });  
  
  describe('add()',() => {  
    it('should return the sum of two numbers',() => {  
      const result = calculator.add(5, 3);  
      expect(result).to.equal(8);  
    });  
  });  
  
  describe('subtract()',() => {  
    it('should return the difference of two numbers',() => {  
      const result = calculator.subtract(5, 3);  
      expect(result).to.equal(2);  
    });  
  });  
  
  describe('multiply()',() => {  
    it('should return the product of two numbers',() => {  
      const result = calculator.multiply(5, 3);  
      expect(result).to.equal(15);  
    });  
  });  
  
  describe('divide()',() => {  
    it('should return the quotient of two numbers',() => {  
      const result = calculator.divide(6, 3);  
      expect(result).to.equal(2);  
    });  
  
    it('should throw an error when dividing by zero',() => {  
      expect(() => calculator.divide(6, 0)).to.throw('Cannot divide by zero');  
    });  
  });  
});  

उपरोक्त उदाहरण में, हम ऑब्जेक्ट describe की प्रत्येक विधि से संबंधित समूह परीक्षणों के लिए ब्लॉक का उपयोग करते हैं। Calculator हम प्रत्येक परीक्षण चलाने से पहले beforeEach एक नई वस्तु बनाने के लिए एक ब्लॉक का भी उपयोग करते हैं। Calculator

ब्लॉक का उपयोग करके describe, हम परीक्षणों को स्पष्ट और संरचित तरीके से व्यवस्थित और समूहित कर सकते हैं, जिससे परीक्षण कोड को समझना और प्रबंधित करना आसान हो जाता है।

 

प्लगइन्स और रिपोर्टर्स के साथ परीक्षण प्रक्रिया को अनुकूलित करना

Mocha जैसे परीक्षण ढांचे का उपयोग करते समय Chai, हम प्लगइन्स और रिपोर्टर्स का उपयोग करके परीक्षण प्रक्रिया को अनुकूलित कर सकते हैं। परीक्षण प्रक्रिया को अनुकूलित करने के लिए प्लगइन्स और रिपोर्टर्स का उपयोग कैसे करें इसके कुछ उदाहरण यहां दिए गए हैं:

  1. Mocha प्लगइन्स : Mocha अपनी सुविधाओं का विस्तार करने के लिए प्लगइन्स के उपयोग का समर्थन करता है। उदाहरण के लिए, आप mocha-parallel-tests परीक्षणों को एक साथ चलाने के लिए उपयोग कर सकते हैं, जिससे निष्पादन में तेजी आ सकती है। आप इस प्लगइन को npm के माध्यम से इंस्टॉल कर सकते हैं और फिर इसे अपनी Mocha कॉन्फ़िगरेशन फ़ाइल में उपयोग कर सकते हैं।

  2. Chai प्लगइन्स : Chai अपनी सुविधाओं को बढ़ाने के लिए प्लगइन्स भी प्रदान करता है। उदाहरण के लिए, आप chai-http अपने परीक्षणों में HTTP अनुरोधों का परीक्षण करने के लिए उपयोग कर सकते हैं। इसी तरह, आप इस प्लगइन को npm के माध्यम से इंस्टॉल करें और फिर इसे अपनी परीक्षण फ़ाइलों में उपयोग करें।

  3. रिपोर्टर : Mocha परीक्षण परिणाम प्रदर्शित करने के लिए विभिन्न प्रकार के पत्रकारों का समर्थन करता है। एक लोकप्रिय रिपोर्टर है mocha-reporter, जो स्पेक, डॉट और बहुत कुछ जैसे विभिन्न रिपोर्ट प्रारूप प्रदान करता है। आप कमांड लाइन विकल्पों के माध्यम से या कॉन्फ़िगरेशन फ़ाइल में उस रिपोर्टर को निर्दिष्ट कर सकते हैं जिसका आप उपयोग करना चाहते हैं।

उदाहरण के लिए, mocha-reporter रिपोर्टर का उपयोग करने के लिए, आप निम्नलिखित कमांड चला सकते हैं:

mocha --reporter mocha-reporter tests/*.js

यह निर्देशिका में परीक्षण चलाएगा और रिपोर्टर का tests उपयोग करके परिणाम प्रदर्शित करेगा । mocha-reporter

प्लगइन्स और रिपोर्टर्स का उपयोग करके, आप अपने प्रोजेक्ट की परीक्षण आवश्यकताओं को पूरा करने के लिए सुविधाओं को अनुकूलित और विस्तारित कर सकते हैं Mocha । Chai