Ustvarjanje preprostih testov z Mocha in Chai

Gradnja osnovnega testa z uporabo Mocha in Chai

Če želite ustvariti osnovni test z uporabo Mocha in Chai, lahko sledite tem korakom:

1. Namestite Mocha in Chai: uporabite npm(Node Package Manager) za namestitev Mocha in Chai v vašem projektu Node.js. Zaženite naslednji ukaz v vašem imeniku projekta:

npm install mocha chai --save-dev

2. Ustvarite testno datoteko: ustvarite novo datoteko, na primer test.js, in uvozite naslednje deklaracije za uporabo Mocha in 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. Zaženite test: odprite terminal in zaženite mocha  ukaz za izvedbo testov. Če gre vse gladko, boste v terminalu videli prikazane rezultate.

Ta osnovni test uporablja Mocha in Chai preverja preprost izračun. V zgornjem primeru preverimo, ali 2 + 2 mora biti rezultat operacije enak 4. Če je rezultat pravilen, bo test uspešen.

Z dodajanjem describe  in it  bloki lahko zgradite bolj zapletene teste in preverite različne dele izvorne kode.

Upoštevajte, da lahko za testiranje uporabite tudi druge trditvene metode, ki jih nudi Chai, na primer assert ali should. Posebna uporaba je odvisna od vaše izbire in tega, kako želite organizirati svojo testno kodo.

 

Uporaba trditev in poizvedb za preverjanje rezultatov funkcije

Pri uporabi Mocha in Chai za testiranje lahko uporabite trditve in poizvedbe za preverjanje rezultatov funkcij. Tukaj je nekaj primerov uporabe trditev in poizvedb za preverjanje rezultatov funkcij:

1. Uporabite expect trditev in to.equal poizvedbo, da preverite rezultat funkcije, ki vrne določeno vrednost:

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

2. Uporabite trditev `expect` in poizvedbo to.be.true ali to.be.false, da preverite rezultat funkcije, ki vrne logično vrednost:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. Uporabite trditev `expect` in poizvedbo to.be.null ali to.be.undefined, da preverite rezultat funkcije, ki vrne ničelno ali nedefinirano vrednost:

const result = myFunction();  
expect(result).to.be.null; // or expect(result).to.be.undefined;

4. Uporabite expect trditev in to.include poizvedbo, da preverite, ali je vrednost vključena v matriko ali niz:

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

5. Uporabite expect trditev in to.have.lengthOf poizvedbo, da preverite dolžino matrike ali niza:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

Ti primeri so le nekateri od mnogih načinov za uporabo trditev in poizvedb v Mocha in Chai za preverjanje rezultatov funkcij. Ustrezne trditve in poizvedbe lahko prilagodite in uporabite glede na potrebe testiranja vašega projekta.

 

Ustvarjanje uspešnih in neuspešnih testnih primerov

Pri pisanju testnih primerov z Mocha in Chai je pomembno, da zajamete uspešne in neuspešne scenarije. Tu so primeri ustvarjanja testnih primerov za uspešne in neuspešne scenarije:

1. Uspešen testni primer:

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. Preizkusni primer napake:

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);  
  });  
});

V uspešnem testnem primeru določite vhod za funkcijo in pričakovani rezultat. Nato pokličete funkcijo z vnosom in potrdite, da se rezultat ujema s pričakovano vrednostjo.

V primeru neuspešnega preizkusa vnesete neveljaven vnos v funkcijo in potrdite, da vrže napako. To zagotavlja, da funkcija pravilno obravnava neveljavne vnose ali napake.

Če v testnih primerih pokrijete uspešne in neuspešne scenarije, lahko zagotovite, da je vaša koda temeljito preizkušena in ustrezno obravnava različne situacije.