Izrada osnovnog testa pomoću Mocha i Chai
Za izradu osnovnog testa pomoću Mocha i Chai možete slijediti ove korake:
1. Instalirajte Mocha i Chai: koristite npm(Node Package Manager) za instalaciju Mocha i Chai u svom Node.js projektu. Izvedite sljedeću naredbu u svom direktoriju projekta:
npm install mocha chai --save-dev
2. Napravite testnu datoteku: Napravite novu datoteku, na primjer test.js
, i uvezite sljedeće deklaracije za korištenje Mocha i 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. Pokrenite test: Otvorite terminal i pokrenite mocha
naredbu za izvršenje testova. Ako sve ide glatko, vidjet ćete rezultate prikazane na terminalu.
Ovaj osnovni test koristi Mocha i Chai za provjeru jednostavnog izračuna. U gornjem primjeru provjeravamo 2 + 2
treba li rezultat operacije biti jednak 4
. Ako je rezultat točan, test će proći.
Dodavanjem blokova describe
i it
možete izraditi složenije testove i provjeriti različite dijelove izvornog koda.
Imajte na umu da za testiranje možete koristiti i druge metode tvrdnji koje nudi Chai, kao što su assert
ili should
. Konkretna uporaba ovisi o vašem izboru i načinu na koji želite organizirati svoj testni kod.
Korištenje tvrdnji i upita za provjeru rezultata funkcije
Kada koristite Mocha i Chai za testiranje, možete koristiti tvrdnje i upite za provjeru rezultata funkcija. Evo nekoliko primjera korištenja tvrdnji i upita za provjeru rezultata funkcije:
1. Upotrijebite expect
tvrdnju i to.equal
upit da provjerite rezultat funkcije koja vraća određenu vrijednost:
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Upotrijebite tvrdnju `expect` i upit to.be.true
ili to.be.false
za provjeru rezultata funkcije koja vraća Booleovu vrijednost:
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
3. Upotrijebite tvrdnju `expect` i to.be.null
upit ili to.be.undefined za provjeru rezultata funkcije koja vraća nultu ili nedefiniranu vrijednost:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. Koristite expect
tvrdnju i to.include
upit da provjerite je li vrijednost uključena u polje ili niz:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Koristite expect
tvrdnju i to.have.lengthOf
upit za provjeru duljine niza ili niza:
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Ovi primjeri samo su neki od mnogih načina za korištenje tvrdnji i upita Mocha i Chai za provjeru rezultata funkcije. Možete prilagoditi i koristiti odgovarajuće tvrdnje i upite na temelju potreba testiranja vašeg projekta.
Stvaranje uspješnih i neuspješnih testnih slučajeva
Kada pišete testne slučajeve s Mocha i Chai, važno je pokriti i uspješne i neuspješne scenarije. Evo primjera stvaranja testnih slučajeva za uspješne i neuspješne scenarije:
1. Uspješan testni slučaj:
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. Slučaj ispitivanja neuspjeha:
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);
});
});
U uspješnom testnom slučaju definirate ulaz za funkciju i očekivani rezultat. Zatim pozivate funkciju s unosom i potvrđujete da rezultat odgovara očekivanoj vrijednosti.
U slučaju testa neuspjeha, dajete nevažeći unos u funkciju i tvrdite da izbacuje pogrešku. Time se osigurava da funkcija pravilno obrađuje nevažeće uvjete unosa ili pogreške.
Pokrivajući i uspješne i neuspješne scenarije u svojim testnim slučajevima, možete osigurati da je vaš kod temeljito testiran i da na odgovarajući način obrađuje različite situacije.