Mocha आणि सह चाचण्या ऑप्टिमाइझ करणे आणि आयोजित करणे Chai

सॉफ्टवेअर डेव्हलपमेंट प्रक्रियेत, चाचणी टप्प्यात अचूकता आणि कार्यक्षमता सुनिश्चित करण्यासाठी चाचण्या ऑप्टिमाइझ करणे आणि आयोजित करणे महत्वाचे आहे. या लेखात, आम्ही Node.js सह Mocha आणि त्यात चाचण्या कशा ऑप्टिमाइझ आणि व्यवस्थित करायच्या ते शोधू. Chai

चाचण्या ऑप्टिमाइझ करणे आणि आयोजित करणे चाचणी प्रक्रिया सुधारते, त्रुटी कमी करते आणि तुमच्या अर्जाची विश्वासार्हता वाढवते. या तंत्रांची अंमलबजावणी करून, तुम्ही तुमच्या Node.js प्रोजेक्टमध्ये चाचण्या प्रभावीपणे व्यवस्थापित करू शकता आणि चालवू Mocha शकता 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