Oprettelse af simple tests med Mocha og Chai

Opbygning af en grundlæggende test ved hjælp af Mocha og Chai

For at bygge en grundlæggende test ved hjælp af Mocha og Chai kan du følge disse trin:

1. Installer Mocha og Chai: Brug npm(Node Package Manager) til at installere Mocha og Chai i dit Node.js-projekt. Kør følgende kommando i din projektmappe:

npm install mocha chai --save-dev

2. Opret en testfil: Opret en ny fil, for eksempel test.js, og importer følgende erklæringer til brug 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. Kør testen: Åbn terminalen og kør kommandoen mocha  for at udføre testene. Hvis alt går glat, vil du se resultaterne vist i terminalen.

Denne grundlæggende test bruger Mocha og Chai til at kontrollere en simpel beregning. I eksemplet ovenfor tjekker vi, at resultatet af operationen 2 + 2 skal være lig med 4. Hvis resultatet er korrekt, vil testen bestå.

Ved at tilføje describe  og it  blokere kan du bygge mere komplekse tests og kontrollere forskellige dele af din kildekode.

Bemærk, at du også kan bruge andre påstandsmetoder leveret af Chai, såsom assert eller should, til test. Den specifikke brug afhænger af dit valg, og hvordan du vil organisere din testkode.

 

Brug af påstande og forespørgsler til at verificere funktionsresultater

Når du bruger Mocha og Chai til test, kan du bruge påstande og forespørgsler til at kontrollere resultaterne af funktioner. Her er nogle eksempler på brug af påstande og forespørgsler til at kontrollere funktionsresultater:

1. Brug expect påstanden og to.equal forespørgslen til at kontrollere resultatet af en funktion, der returnerer en bestemt værdi:

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

2. Brug 'forvent'-påstanden og forespørgslen to.be.true eller to.be.false til at kontrollere resultatet af en funktion, der returnerer en boolsk værdi:

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

3. Brug "expect"-påstanden og to.be.null or to.be.undefined-forespørgslen til at kontrollere resultatet af en funktion, der returnerer en null eller udefineret værdi:

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

4. Brug expect påstanden og to.include forespørgslen til at kontrollere, om en værdi er inkluderet i en matrix eller streng:

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

5. Brug expect påstanden og to.have.lengthOf forespørgslen til at kontrollere længden af ​​en matrix eller streng:

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

Disse eksempler er blot nogle få af mange måder at bruge påstande og forespørgsler i Mocha og Chai til at kontrollere funktionsresultater. Du kan tilpasse og bruge de relevante påstande og forespørgsler baseret på dit projekts testbehov.

 

Oprettelse af vellykkede og mislykkede testcases

Når du skriver testcases med Mocha og Chai, er det vigtigt at dække både succes- og fiaskoscenarier. Her er eksempler på oprettelse af testcases for både succesfulde og fiaskoscenarier:

1. Vellykket testcase:

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. Fejltesttilfælde:

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 testtilfælde definerer du input for funktionen og det forventede resultat. Derefter kalder du funktionen med inputtet og hævder, at resultatet matcher den forventede værdi.

I fejltesttilfældet giver du ugyldigt input til funktionen og hævder, at den giver en fejl. Dette sikrer, at funktionen håndterer ugyldige input eller fejltilstande korrekt.

Ved at dække både succes- og fiaskoscenarier i dine testcases kan du sikre dig, at din kode bliver testet grundigt og håndterer forskellige situationer korrekt.