Skriva enhetstester i TypeScript: Använda Jest, Mocha och kombinera med Chai och Sinon

Unit test ing är en viktig del av mjukvaruutveckling för att säkerställa noggrannheten och tillförlitligheten hos källkoden. Med TypeScript kan du skriva unit test s enkelt och flexibelt, med hjälp av populära ramverk som Jest och Mocha, kombinerat med påståendebibliotek som Chai och hånfulla bibliotek som Sinon.

Här är en detaljerad guide om hur du skriver unit test in TypeScript med dessa verktyg och bibliotek:

 

Jest

Jest är ett allmänt använt ramverk för att skriva unit test s in TypeScript och JavaScript. Det ger en enkel syntax och kraftfulla funktioner som hån, ögonblicksbildstestning och täckningsrapporter.

För att börja skriva unit test s med Jest måste du installera Jest via npm eller yarn genom att köra följande kommando:

npm install jest --save-dev

Sedan kan du skapa testfiler med tillägget .spec.ts eller .test.ts och skriva testfall.

Till exempel:

// math.ts  
export function add(a: number, b: number): number {  
  return a + b;  
}  
  
// math.spec.ts  
import { add } from './math';  
  
test('add function adds two numbers correctly',() => {  
  expect(add(2, 3)).toBe(5);  
});  

 

Mocha

Mocha är ett flexibelt ramverk för testlöpare för TypeScript och JavaScript. Den stöder en tydlig syntax och olika typer av tester som unit test s, integrationstester och funktionstester.

För att använda Mocha i TypeScript måste du installera Mocha och Chai via npm eller yarn genom att köra följande kommando:

npm install mocha chai --save-dev

Sedan kan du skapa testfiler och skriva testfall.

Till exempel:

// math.ts  
export function add(a: number, b: number): number {  
  return a + b;  
}  
  
// math.spec.ts  
import { expect } from 'chai';  
import { add } from './math';  
  
describe('add function',() => {  
  it('should add two numbers correctly',() => {  
    expect(add(2, 3)).to.equal(5);  
  });  
});  

 

Chai

Chai är ett populärt påståendebibliotek som används för att skriva påståenden i unit test s. Det ger en tydlig och flexibel syntax, så att du kan hävda resultaten av din källkod. Du kan använda Chai med antingen Jest eller Mocha för att skriva påståenden i dina testfall.

Till exempel:

import { expect } from 'chai';  
import { add } from './math';  
  
it('add function should add two numbers correctly',() => {  
  expect(add(2, 3)).to.equal(5);  
});  

 

Sinon

Sinon är ett populärt hån- och spionbibliotek som används för att håna och spåra beteenden i testfall. Du kan använda Sinon med antingen Jest eller Mocha för att håna och spåra aktiviteter i objekt och funktioner.

Till exempel:

import { expect } from 'chai';  
import { add } from './math';  
import sinon from 'sinon';  
  
it('add function should call console.log with the correct result',() => {  
  const consoleSpy = sinon.spy(console, 'log');  
  add(2, 3);  
  expect(consoleSpy.calledWith(5)).to.be.true;  
  consoleSpy.restore();  
});  

 

Genom att kombinera Jest eller Mocha med Chai och Sinon kan du bygga kraftfulla och flexibla unit test s i TypeScript. Genom att använda metoderna och funktionerna i Jest, Mocha, Chai, och Sinon, kan du säkerställa noggrannheten och tillförlitligheten för din källkod under mjukvaruutvecklingsprocessen.