Gör egna test med Mocha

status: alpha author: krm created: 2022-12-19

👁️‍🗨️ Om detta avsnitt

Vi gör ett enkelt exempel med "unit test". Har du använt mallen borde all program redan vara installerade. Vi utgår här från ett tänkt exempel där vi ska beräkna ett polynom.

🧭 Vad är "unit testing"?

Ett sätt att autimatisera testning av kod. Ett antal testfall som gås igenom automatikst och rapporterar om de klaras av.

📚 Vi behöver ett par packet installerade

Dessa är populära packet för unit testning på node.

Finns installerade via mallen.

1. Skapa en test mapp

Skapa en mapp med namnet test om den inte redan finns.

mkdir test

2. Exportera

Se till att det du vill testa är exporterat. Oftast är det en funktion. Du lägger till export framför funktionen.

export function polynomA(Xvalue) {
   return 3*Xvalue*Xvalue+2*Xvalue+1
}

3. Skapa en test fil

I mappen test, skapa en fil för testning. Vi skapar filen "polynomA.ts".

4. Importera "assert" från "chai"

Högst upp i filen importera assert.

import { expect } from "chai";

Dett finns tre olika sätt att använda chai bibkloteket, du kan se om något av de andra passar dig bättre.

➕ 5. Installera plugin för "chai"

Det finns flera plugin för "chai", nedan installerar vi ett som gör det lätt att test strings.

import chaiString from "chai-string";
expect.use(chaiString);

För att detta ska fungera måste "chai-string" var installerat i ditt projekt.

6. Importera det du vill testa

Högst upp i filen importera det du vill testa.

import {polynomA} from "./polynoms"

7. Skriv kategorier för testet

Du kan forsätta genom att skap en underkategir till detta test. Vidare kan du lägga till kod som ska var gemnsam för alla test.

describe("Polynom", () => {
  describe("Test of Polynom A", () => {
    CODE
  })
})

8. Börja skriva olika "assert"

I ditt test vill du kontroller att resultet från funktionen är korrekt. Vi gör det här med ett objekt som hetter assert.

  it("Controll result for zerro", () => {
     const result = polynomA(0);
     expect(result).equal(1);
  })

Observera att ett test kan ha flera olika assert.

8. Andra intressanta metoder i expext

Förutom testet ovan kan följande vara intressant:

✔️ 9. Utför en kontroll av dina tester

Utgår du från mallen så ge kommandot nedan.

npm run test

❗ 10. Tänk på att