सफ्टवेयर विकास प्रक्रियामा, परीक्षण चरणमा शुद्धता र दक्षता सुनिश्चित गर्न परीक्षणहरू अनुकूलन र व्यवस्थित गर्न महत्त्वपूर्ण छ। यस लेखमा, हामी 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, हामी प्लगइनहरू र रिपोर्टरहरू प्रयोग गरेर परीक्षण प्रक्रिया अनुकूलन गर्न सक्छौं। यहाँ परीक्षण प्रक्रिया अनुकूलन गर्न प्लगइन र रिपोर्टर कसरी प्रयोग गर्ने केही उदाहरणहरू छन्:
-
Mocha प्लगइनहरू : Mocha यसको सुविधाहरू विस्तार गर्न प्लगइनहरूको प्रयोगलाई समर्थन गर्दछ। उदाहरणका लागि, तपाईं
mocha-parallel-tests
एकैसाथ परीक्षणहरू चलाउन प्रयोग गर्न सक्नुहुन्छ, जसले कार्यान्वयनलाई गति दिन सक्छ। Mocha तपाइँ यो प्लगइन npm मार्फत स्थापना गर्न सक्नुहुन्छ र त्यसपछि तपाइँको कन्फिगरेसन फाइलमा प्रयोग गर्नुहोस् । -
Chai प्लगइनहरू : Chai यसको सुविधाहरू विस्तार गर्न प्लगइनहरू पनि प्रदान गर्दछ। उदाहरणका लागि, तपाइँ
chai-http
तपाइँको परीक्षणहरूमा HTTP अनुरोधहरू परीक्षण गर्न प्रयोग गर्न सक्नुहुन्छ। त्यसै गरी, तपाइँ यो प्लगइन npm मार्फत स्थापना गर्नुहोस् र त्यसपछि तपाइँको परीक्षण फाइलहरूमा प्रयोग गर्नुहोस्। -
रिपोर्टरहरू : Mocha परीक्षण परिणामहरू प्रदर्शन गर्न विभिन्न प्रकारका रिपोर्टरहरूलाई समर्थन गर्दछ। एक लोकप्रिय रिपोर्टर हो
mocha-reporter
, जसले विभिन्न रिपोर्ट ढाँचाहरू प्रदान गर्दछ जस्तै स्पेक, डट, र थप। तपाईले कमाण्ड लाइन विकल्पहरू वा कन्फिगरेसन फाइलमा प्रयोग गर्न चाहनुभएको रिपोर्टर निर्दिष्ट गर्न सक्नुहुन्छ।
उदाहरणका लागि, रिपोर्टर प्रयोग गर्न mocha-reporter
, तपाइँ निम्न आदेश चलाउन सक्नुहुन्छ:
mocha --reporter mocha-reporter tests/*.js
यसले डाइरेक्टरीमा परीक्षणहरू चलाउनेछ tests
र रिपोर्टर प्रयोग गरेर परिणामहरू प्रदर्शन गर्नेछ mocha-reporter
।
प्लगइनहरू र रिपोर्टरहरू प्रयोग गरेर, तपाइँ तपाइँको परियोजनाको परीक्षण आवश्यकताहरू फिट गर्न Mocha र सुविधाहरूलाई अनुकूलित र विस्तार गर्न सक्नुहुन्छ । Chai