Izrada osnovnog testa pomoću Mocha i Chai
Za izradu osnovnog testa koristeći Mocha i Chai, možete slijediti ove korake:
1. Instalirajte Mocha i Chai: Koristite npm (Node Package Manager) da instalirate Mocha i Chai u svoj Node.js projekt. 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 + 2treba 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 expecttvrdnju i to.equalupit 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.trueili to.be.falseza 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.nullupit 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 expecttvrdnju i to.includeupit da provjerite je li vrijednost uključena u polje ili niz:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Koristite expecttvrdnju i to.have.lengthOfupit za provjeru duljine niza ili niza:
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Ovi primjeri samo su neki od mnogih načina korištenja tvrdnji i upita u Mocha i Chaiu 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.