மென்பொருள் மேம்பாட்டு செயல்பாட்டில், சோதனை கட்டத்தில் துல்லியம் மற்றும் செயல்திறனை உறுதிப்படுத்த, சோதனைகளை மேம்படுத்துதல் மற்றும் ஒழுங்கமைத்தல் ஆகியவை முக்கியமானதாகும். இந்த கட்டுரையில், 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
ஒரே நேரத்தில் சோதனைகளை இயக்க பயன்படுத்தலாம், இது செயல்படுத்தலை விரைவுபடுத்தும். நீங்கள் இந்தச் செருகுநிரலை npm வழியாக நிறுவி, உங்கள் உள்ளமைவு கோப்பில் பயன்படுத்தலாம் Mocha. -
Chai செருகுநிரல்கள் : Chai அதன் அம்சங்களை நீட்டிக்க செருகுநிரல்களையும் வழங்குகிறது. உதாரணமாக,
chai-http
உங்கள் சோதனைகளில் HTTP கோரிக்கைகளை சோதிக்க நீங்கள் பயன்படுத்தலாம். இதேபோல், நீங்கள் இந்த செருகுநிரலை npm வழியாக நிறுவி, உங்கள் சோதனைக் கோப்புகளில் பயன்படுத்தவும். -
நிருபர்கள் : Mocha சோதனை முடிவுகளைக் காண்பிக்க பல்வேறு வகையான நிருபர்களை ஆதரிக்கிறது. ஒரு பிரபலமான நிருபர்
mocha-reporter
, இது ஸ்பெக், டாட் மற்றும் பல போன்ற பல்வேறு அறிக்கை வடிவங்களை வழங்குகிறது. கட்டளை வரி விருப்பங்கள் அல்லது உள்ளமைவு கோப்பில் நீங்கள் பயன்படுத்த விரும்பும் நிருபரை நீங்கள் குறிப்பிடலாம்.
எடுத்துக்காட்டாக, நிருபரைப் பயன்படுத்த mocha-reporter
, நீங்கள் பின்வரும் கட்டளையை இயக்கலாம்:
mocha --reporter mocha-reporter tests/*.js
இது கோப்பகத்தில் சோதனைகளை இயக்கி tests
, ரிப்போர்ட்டரைப் பயன்படுத்தி முடிவுகளைக் காண்பிக்கும் mocha-reporter
.
செருகுநிரல்கள் மற்றும் நிருபர்களைப் பயன்படுத்துவதன் மூலம், உங்கள் திட்டத்தின் சோதனைத் தேவைகளுக்கு ஏற்றவாறு அம்சங்களைத் தனிப்பயனாக்கலாம் மற்றும் நீட்டிக்கலாம் Mocha. Chai