ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਮੈਂਟ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ, ਟੈਸਟਿੰਗ ਪੜਾਅ ਵਿੱਚ ਸ਼ੁੱਧਤਾ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਟੈਸਟਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਅਤੇ ਆਯੋਜਿਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਪੜਚੋਲ ਕਰਾਂਗੇ ਕਿ 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