Skrive enhetstester i TypeScript: Bruke Jest, Mocha og kombinere med Chai og Sinon

Unit test ing er en viktig del av programvareutvikling for å sikre nøyaktigheten og påliteligheten til kildekoden. Med TypeScript, kan du skrive unit test s enkelt og fleksibelt, ved å bruke populære rammeverk som Jest og Mocha, kombinert med påstandsbiblioteker som Chai og hånende biblioteker som Sinon.

Her er en detaljert veiledning om hvordan du skriver unit test inn TypeScript med disse verktøyene og bibliotekene:

 

Jest

Jest er et mye brukt rammeverk for å skrive unit test s in TypeScript og JavaScript. Det gir en enkel syntaks og kraftige funksjoner som hån, testing av øyeblikksbilder og dekningsrapporter.

For å begynne å skrive unit test s med Jest, må du installere Jest via npm eller garn ved å kjøre følgende kommando:

npm install jest --save-dev

Deretter kan du opprette testfiler med utvidelsen .spec.ts eller .test.ts og skrive testtilfeller.

For eksempel:

// 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 er et fleksibelt testløper-rammeverk for TypeScript og JavaScript. Den støtter en klar syntaks og ulike typer tester som unit test s, integrasjonstester og funksjonstester.

For å bruke Mocha i TypeScript, må du installere Mocha og Chai via npm eller garn ved å kjøre følgende kommando:

npm install mocha chai --save-dev

Deretter kan du lage testfiler og skrive testsaker.

For eksempel:

// 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 er et populært påstandsbibliotek som brukes til å skrive påstander i unit test s. Det gir en klar og fleksibel syntaks, slik at du kan hevde resultatene av kildekoden din. Du kan bruke Chai med enten Jest eller Mocha til å skrive påstander i testsakene dine.

For eksempel:

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 er et populært hån- og spioneringsbibliotek som brukes til å håne og spore atferd i testsaker. Du kan bruke Sinon med enten Jest eller Mocha til å håne og spore aktiviteter i objekter og funksjoner.

For eksempel:

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

 

Kombinere Jest eller Mocha med Chai og Sinon lar deg bygge kraftige og fleksible unit test s i TypeScript. Ved å bruke metodene og funksjonene til Jest, Mocha, Chai og Sinon, kan du sikre nøyaktigheten og påliteligheten til kildekoden din under programvareutviklingsprosessen.