Bini ta 'test bażiku bl-użu Mocha u Chai
Biex tibni test bażiku billi tuża Mocha u Chai, tista' ssegwi dawn il-passi:
1. Installa Mocha u Chai: Uża npm(Node Package Manager) biex tinstalla Mocha u Chai fil-proġett Node.js tiegħek. Mexxi l-kmand li ġej fid-direttorju tal-proġett tiegħek:
npm install mocha chai --save-dev
2. Oħloq fajl tat-test: Oħloq fajl ġdid, pereżempju test.js
, u importa d-dikjarazzjonijiet li ġejjin biex tuża Mocha u Chai:
const chai = require('chai');
const expect = chai.expect;
describe('Example Test Suite',() => {
it('should pass the test',() => {
expect(2 + 2).to.equal(4);
});
});
3. Mexxi t-test: Iftaħ it-terminal u mexxi l- mocha
kmand biex tesegwixxi t-testijiet. Jekk kollox imur tajjeb, tara r-riżultati murija fit-terminal.
Dan it-test bażiku juża Mocha u Chai biex jiċċekkja kalkolu sempliċi. Fl-eżempju ta 'hawn fuq, aħna niċċekkjaw li r-riżultat tal- 2 + 2
operazzjoni għandu jkun ugwali għal 4
. Jekk ir-riżultat huwa korrett, it-test jgħaddi.
Billi żżid describe
u it
timblokka, tista 'tibni testijiet aktar kumplessi u tiċċekkja partijiet differenti tal-kodiċi tas-sors tiegħek.
Innota li tista' wkoll tuża metodi oħra ta' asserzjoni pprovduti minn Chai, bħal assert
jew should
, għall-ittestjar. L-użu speċifiku jiddependi fuq l-għażla tiegħek u kif trid torganizza l-kodiċi tat-test tiegħek.
Uża asserzjonijiet u mistoqsijiet biex tivverifika r-riżultati tal-funzjoni
Meta tuża Mocha u Chai għall-ittestjar, tista 'tuża asserzjonijiet u mistoqsijiet biex tiċċekkja r-riżultati tal-funzjonijiet. Hawn huma xi eżempji ta 'użu ta' asserzjonijiet u mistoqsijiet biex jiċċekkjaw ir-riżultati tal-funzjoni:
1. Uża l- expect
affermazzjoni u l- to.equal
mistoqsija biex tiċċekkja r-riżultat ta’ funzjoni li tagħti valur speċifiku:
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Uża l-affermazzjoni "jistenna" u l- mistoqsija to.be.true
jew to.be.false
biex tiċċekkja r-riżultat ta' funzjoni li tagħti valur boolean:
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
3. Uża l-affermazzjoni "jistenna" u l- to.be.null
mistoqsija jew to.be.undefined biex tiċċekkja r-riżultat ta' funzjoni li tirritorna valur null jew mhux definit:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. Uża l- expect
affermazzjoni u l- to.include
mistoqsija biex tivverifika jekk valur huwiex inkluż f'firxa jew string:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Uża l- expect
affermazzjoni u l- to.have.lengthOf
mistoqsija biex tiċċekkja t-tul ta 'firxa jew string:
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Dawn l-eżempji huma biss ftit minn ħafna modi kif tuża asserzjonijiet u mistoqsijiet fi Mocha u Chai biex tiċċekkja r-riżultati tal-funzjoni. Tista' tippersonalizza u tuża l-asserzjonijiet u l-mistoqsijiet xierqa bbażati fuq il-ħtiġijiet tal-ittestjar tal-proġett tiegħek.
Il-ħolqien ta' każijiet ta' test ta' suċċess u li fallew
Meta tikteb każijiet tat-test bi Mocha u Chai, huwa importanti li tkopri kemm xenarji ta' suċċess kif ukoll ta' falliment. Hawn huma eżempji ta' kif jinħolqu każijiet tat-test kemm għal xenarji ta' suċċess kif ukoll ta' falliment:
1. Każ tat-Test b'suċċess:
describe('myFunction',() => {
it('should return the expected result',() => {
// Arrange
const input = // provide the input for the function
const expected = // define the expected result
// Act
const result = myFunction(input);
// Assert
expect(result).to.equal(expected);
});
});
2. Każ tat-Test ta' Falliment:
describe('myFunction',() => {
it('should throw an error when invalid input is provided',() => {
// Arrange
const invalidInput = // provide invalid input for the function
// Act and Assert
expect(() => myFunction(invalidInput)).to.throw(Error);
});
});
Fil-każ tat-test b'suċċess, tiddefinixxi l-input għall-funzjoni u r-riżultat mistenni. Imbagħad, issejjaħ il-funzjoni bl-input u tafferma li r-riżultat jaqbel mal-valur mistenni.
Fil-każ tat-test tal-falliment, inti tipprovdi input invalidu għall-funzjoni u tasserixxi li tarmi żball. Dan jiżgura li l-funzjoni timmaniġġa sew input invalidu jew kundizzjonijiet ta 'żball.
Billi tkopri kemm xenarji ta' suċċess kif ukoll ta' falliment fil-każijiet tat-test tiegħek, tista' tiżgura li l-kodiċi tiegħek jiġi ttestjat bir-reqqa u jimmaniġġja sitwazzjonijiet differenti b'mod xieraq.