status: alpha author: krm created: 2022-12-19
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.
Ett sätt att autimatisera testning av kod. Ett antal testfall som gås igenom automatikst och rapporterar om de klaras av.
Dessa är populära packet för unit testning på node.
Finns installerade via mallen.
Skapa en mapp med namnet test om den inte redan finns.
mkdir test
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
}
I mappen test, skapa en fil för testning. Vi skapar filen "polynomA.ts".
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.
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.
Högst upp i filen importera det du vill testa.
import {polynomA} from "./polynoms"
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
})
})
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.
Förutom testet ovan kan följande vara intressant:
Utgår du från mallen så ge kommandot nedan.
npm run test