Lage enkle tester med Mocha og Chai

Bygge en grunnleggende test ved å bruke Mocha og Chai

For å bygge en grunnleggende test ved å bruke Mocha og Chai, kan du følge disse trinnene:

1. Installer Mocha og Chai: Bruk npm(Node Package Manager) for å installere Mocha og Chai i ditt Node.js-prosjekt. Kjør følgende kommando i prosjektkatalogen din:

npm install mocha chai --save-dev

2. Opprett en testfil: Opprett en ny fil, for eksempel test.js, og importer følgende erklæringer for å bruke Mocha og 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. Kjør testen: Åpne terminalen og kjør kommandoen mocha  for å utføre testene. Hvis alt går på skinner, vil du se resultatene vist i terminalen.

Denne grunnleggende testen bruker Mocha og Chai for å kontrollere en enkel beregning. I eksemplet ovenfor sjekker vi at resultatet av operasjonen 2 + 2 skal være lik 4. Hvis resultatet er riktig, vil testen bestå.

Ved å legge til describe  og it  blokkere kan du bygge mer komplekse tester og sjekke ulike deler av kildekoden.

Merk at du også kan bruke andre påstandsmetoder levert av Chai, for eksempel assert eller should, for testing. Den spesifikke bruken avhenger av ditt valg og hvordan du vil organisere testkoden.

 

Bruke påstander og spørringer for å bekrefte funksjonsresultater

Når du bruker Mocha og Chai for testing, kan du bruke påstander og spørringer for å sjekke resultatene av funksjoner. Her er noen eksempler på bruk av påstander og spørringer for å sjekke funksjonsresultater:

1. Bruk expect påstanden og to.equal spørringen for å sjekke resultatet av en funksjon som returnerer en bestemt verdi:

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

2. Bruk «forvent»-påstanden og spørringen to.be.true eller to.be.false for å sjekke resultatet av en funksjon som returnerer en boolsk verdi:

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

3. Bruk «expect»-påstanden og to.be.null or to.be.undefined-spørringen for å sjekke resultatet av en funksjon som returnerer en null eller udefinert verdi:

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

4. Bruk expect påstanden og to.include spørringen for å sjekke om en verdi er inkludert i en matrise eller streng:

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

5. Bruk expect påstanden og to.have.lengthOf spørringen for å sjekke lengden på en matrise eller streng:

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

Disse eksemplene er bare noen få av mange måter å bruke påstander og spørringer i Mocha og Chai for å sjekke funksjonsresultater. Du kan tilpasse og bruke de riktige påstandene og spørringene basert på prosjektets testbehov.

 

Opprette vellykkede og mislykkede testtilfeller

Når du skriver testcaser med Mocha og Chai, er det viktig å dekke både vellykkede og mislykkede scenarier. Her er eksempler på å lage testtilfeller for både vellykkede og feilscenarier:

1. Vellykket testtilfelle:

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. Testtilfelle av feil:

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

I det vellykkede testtilfellet definerer du inndata for funksjonen og forventet resultat. Deretter kaller du funksjonen med input og hevder at resultatet samsvarer med forventet verdi.

I feiltestsaken gir du ugyldig input til funksjonen og hevder at den gir en feil. Dette sikrer at funksjonen håndterer ugyldig inndata eller feiltilstander på riktig måte.

Ved å dekke både vellykkede og feilscenarier i testsakene dine, kan du sikre at koden din blir testet grundig og håndterer ulike situasjoner på riktig måte.