Il-ħolqien ta' Testijiet sempliċi bi Mocha u Chai

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.