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.