Stvaranje jednostavnih testova s Mocha i Chai

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.