Stvaranje jednostavnih testova s Mocha ​​i Chai

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.