Crearea de teste simple cu Mocha și Chai

Construirea unui test de bază folosind Mocha și Chai

Pentru a construi un test de bază folosind Mocha și Chai, puteți urma acești pași:

1. Instalați Mocha și Chai: utilizați npm(Manager de pachete Node) pentru a instala Mocha și Chai în proiectul dvs. Node.js. Rulați următoarea comandă în directorul de proiect:

npm install mocha chai --save-dev

2. Creați un fișier de testare: creați un fișier nou, de exemplu test.js, și importați următoarele declarații pentru a utiliza 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. Rulați testul: Deschideți terminalul și rulați mocha  comanda pentru a executa testele. Dacă totul merge bine, veți vedea rezultatele afișate în terminal.

Acest test de bază folosește Mocha și Chai pentru a verifica un calcul simplu. În exemplul de mai sus, verificăm ca rezultatul operației 2 + 2 să fie egal cu 4. Dacă rezultatul este corect, testul va trece.

Prin adăugarea describe  și it  blocarea, puteți construi teste mai complexe și puteți verifica diferite părți ale codului sursă.

Rețineți că puteți utiliza și alte metode de afirmare oferite de Chai, cum ar fi assert sau should, pentru testare. Utilizarea specifică depinde de alegerea dvs. și de modul în care doriți să vă organizați codul de testare.

 

Utilizarea aserțiunilor și a interogărilor pentru a verifica rezultatele funcției

Când utilizați Mocha și Chai pentru testare, puteți utiliza aserțiuni și interogări pentru a verifica rezultatele funcțiilor. Iată câteva exemple de utilizare a aserțiilor și a interogărilor pentru a verifica rezultatele funcției:

1. Utilizați expect afirmația și to.equal interogarea pentru a verifica rezultatul unei funcții care returnează o anumită valoare:

const result = myFunction();  
expect(result).to.equal(expectedValue);

2. Utilizați afirmația `expect` și interogarea to.be.true sau to.be.false pentru a verifica rezultatul unei funcții care returnează o valoare booleană:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. Utilizați afirmația `expect` și interogarea to.be.null sau to.be.undefined pentru a verifica rezultatul unei funcții care returnează o valoare nulă sau nedefinită:

const result = myFunction();  
expect(result).to.be.null; // or expect(result).to.be.undefined;

4. Utilizați expect afirmația și to.include interogarea pentru a verifica dacă o valoare este inclusă într-o matrice sau într-un șir:

const result = myFunction();  
expect(result).to.include(expectedValue);

5. Folosiți expect afirmația și to.have.lengthOf interogarea pentru a verifica lungimea unei matrice sau a unui șir:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

Aceste exemple sunt doar câteva dintre multele modalități de a utiliza aserțiuni și interogări Mocha și Chai de a verifica rezultatele funcției. Puteți personaliza și utiliza afirmațiile și interogările adecvate în funcție de nevoile de testare ale proiectului.

 

Crearea de cazuri de testare reușite și nereușite

Când scrieți cazuri de testare cu Mocha și Chai, este important să acoperiți atât scenariile de succes, cât și scenariile de eșec. Iată exemple de creare a cazurilor de testare atât pentru scenarii de succes, cât și pentru scenarii de eșec:

1. Caz de testare reușit:

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. Cazul de testare a eșecului:

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);  
  });  
});

În cazul testului de succes, definiți intrarea pentru funcție și rezultatul așteptat. Apoi, apelați funcția cu intrarea și afirmați că rezultatul se potrivește cu valoarea așteptată.

În cazul de testare a eșecului, furnizați o intrare nevalidă pentru funcție și afirmați că aceasta generează o eroare. Acest lucru asigură că funcția gestionează corect condițiile de intrare invalide sau de eroare.

Acoperând atât scenariile de succes, cât și scenariile de eșec în cazurile dvs. de testare, vă puteți asigura că codul dvs. este testat temeinic și gestionează diferite situații în mod corespunzător.