Sa phróiseas forbartha bogearraí, tá sé ríthábhachtach tástálacha a bharrfheabhsú agus a eagrú chun cruinneas agus éifeachtúlacht a chinntiú sa chéim tástála. San Airteagal seo, déanfaimid iniúchadh ar conas tástálacha a bharrfheabhsú agus a eagrú le Mocha agus Chai i Node.js.
Má dhéantar tástálacha a bharrfheabhsú agus a eagrú, feabhsaíonn sé an próiseas tástála, laghdaítear earráidí, agus feabhsaíonn sé iontaofacht d'iarratais. Trí na teicníochtaí seo a chur i bhfeidhm, is féidir leat tástálacha a bhainistiú agus a fheidhmiú go héifeachtach i do thionscadal Node.js ag baint úsáide as Mocha agus Chai.
Eagraíocht Tástála:
- Trialacha a chatagóiriú de réir feidhmiúlachta: Trí thástálacha a eagrú bunaithe ar fheidhmiúlacht is fusa na spriocanna tástála a bhainistiú agus a aithint do gach gné ar leith de do thionscadal.
- Ag baint úsáide as cur síos neadaithe: Bain úsáid as cur síos neadaithe chun struchtúr ordlathach a chruthú chun tástálacha a eagrú. Cuidíonn sé seo le struchtúr soiléir inléite a choinneáil do do shraith tástála.
Crúcaí a úsáid chun tascanna socraithe agus scriosta a dhéanamh roimh thástálacha agus ina ndiaidh
- Crúcaí a úsáid: Soláthraíonn Mocha crúcaí mar
before,after,beforeEach, , agusafterEachchun oibríochtaí réamhthástála agus iar-thástála a dhéanamh. Cuidíonn úsáid crúcaí le ham a shábháil agus feabhas a chur ar fheidhmíocht iomlán na dtrialacha. - Úsáid
skipagusonlytreoracha:skipLigeann an treoir duit tástálacha neamhriachtanach a scipeáil le linn forbartha. Cumasaíonn anonlytreoir tástálacha sonracha a rith, rud atá úsáideach nuair nach gá duit ach cuid bheag den bhunachar cód a thástáil.
Sampla:
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
});
});
});
Trialacha a ghrúpáil agus bloic cur síos a úsáid le haghaidh eagrúcháin
Chun tástálacha a eagrú agus a ghrúpáil le chéile, is féidir linn na describebloic a úsáid i gcreat tástála cosúil le Mocha. Ligeann an describebloc dúinn tástálacha gaolmhara a ghrúpáil bunaithe ar thopaic nó ar chuspóir ar leith.
Seo sampla d’úsáid describebloic chun tástálacha a bhaineann le Calculatorréad a eagrú:
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');
});
});
});
Sa sampla thuas, úsáidimid describebloic chun tástálacha a ghrúpáil a bhaineann le gach modh den Calculatorréad. Bainimid úsáid freisin as beforeEachbloc chun réad nua a chruthú Calculatorroimh gach tástáil a rith.
Trí úsáid a bhaint as describebloic, is féidir linn tástálacha a eagrú agus a ghrúpáil ar bhealach soiléir agus struchtúrach, rud a fhágann go bhfuil sé éasca an cód tástála a thuiscint agus a bhainistiú.
An próiseas tástála a shaincheapadh le forlíontáin agus tuairisceoirí
Agus creataí tástála á n-úsáid againn mar Mocha agus Chai, is féidir linn an próiseas tástála a shaincheapadh trí fhorlíontáin agus tuairisceoirí a úsáid. Seo roinnt samplaí de conas forlíontáin agus tuairisceoirí a úsáid chun an próiseas tástála a shaincheapadh:
-
Breiseáin Mocha : Tacaíonn Mocha le húsáid breiseán chun a chuid gnéithe a leathnú. Mar shampla, is féidir leat é a úsáid
mocha-parallel-testschun tástálacha a reáchtáil i gcomhthráth, rud a d'fhéadfadh an cur i gcrích a bhrostú. Is féidir leat an breiseán seo a shuiteáil trí npm agus ansin é a úsáid i do chomhad cumraíochta Mocha. -
Breiseáin Chai : Soláthraíonn Chai forlíontáin freisin chun a chuid gnéithe a leathnú. Mar shampla, is féidir leat é a úsáid
chai-httpchun iarratais HTTP a thástáil i do thástálacha. Ar an gcaoi chéanna, suiteálann tú an breiseán seo trí npm agus ansin é a úsáid i do chomhaid tástála. -
Tuairisceoirí : Tacaíonn Mocha le cineálacha éagsúla tuairisceoirí chun torthaí tástála a thaispeáint. Is tuairisceoir coitianta é
mocha-reporter, a sholáthraíonn formáidí tuairisce éagsúla cosúil le spec, ponc, agus níos mó. Is féidir leat an tuairisceoir is mian leat a úsáid a shonrú trí roghanna na n-orduithe nó sa chomhad cumraíochta.
Mar shampla, chun an mocha-reportertuairisceoir a úsáid, is féidir leat an t-ordú seo a leanas a rith:
mocha --reporter mocha-reporter tests/*.js
Rithfidh sé seo na tástálacha san testseolaire agus taispeánfaidh sé na torthaí ag baint úsáide as an mocha-reportertuairisceoir.
Trí úsáid a bhaint as forlíontáin agus tuairisceoirí, is féidir leat gnéithe Mocha agus Chai a shaincheapadh agus a leathnú chun freastal ar riachtanais tástála do thionscadal.