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