Ħolqien ta 'Testijiet Sempliċi b'Mocha u Chai

Bini ta 'test bażiku bl-użu ta' 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 + 2operazzjoni 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' tuża wkoll 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 tivverifika 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- expectaffermazzjoni u l- to.equalmistoqsija 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.truejew to.be.falsebiex 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.nullmistoqsija 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- expectaffermazzjoni u l- to.includemistoqsija biex tivverifika jekk valur huwiex inkluż f'firxa jew string:

const result = myFunction();
expect(result).to.include(expectedValue);

5. Uża l- expectaffermazzjoni u l- to.have.lengthOfmistoqsija 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 f'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 ta 'test ma' 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.