Skrivning af enhedstests i TypeScript: Brug Jest, Mocha, og Kombination med Chai og Sinon

Unit test ing er en vigtig del af softwareudvikling for at sikre nøjagtigheden og pålideligheden af ​​kildekoden. Med TypeScript kan du skrive unit test s nemt og fleksibelt ved at bruge populære rammer som Jest og Mocha, kombineret med påstandsbiblioteker som Chai og hånende biblioteker som Sinon.

Her er en detaljeret guide til at skrive unit test ind TypeScript med disse værktøjer og biblioteker:

 

Jest

Jest er en meget brugt ramme til at skrive unit test s in TypeScript og JavaScript. Det giver en enkel syntaks og kraftfulde funktioner såsom hån, snapshottest og dækningsrapporter.

For at begynde at skrive unit test s med Jest, skal du installere Jest via npm eller garn ved at køre følgende kommando:

npm install jest --save-dev

Derefter kan du oprette testfiler med udvidelsen .spec.ts eller .test.ts og skrive testcases.

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 en fleksibel testløberramme for TypeScript og JavaScript. Det understøtter en klar syntaks og forskellige typer test såsom unit test s, integrationstests og funktionelle tests.

For at bruge Mocha i TypeScript skal du installere Mocha og Chai via npm eller garn ved at køre følgende kommando:

npm install mocha chai --save-dev

Derefter kan du oprette testfiler og skrive testcases.

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, der bruges til at skrive påstande i unit test s. Det giver en klar og fleksibel syntaks, så du kan hævde resultaterne af din kildekode. Du kan bruge Chai med enten Jest eller Mocha til at skrive påstande i dine testcases.

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 spionagebibliotek, der bruges til at håne og spore adfærd i testsager. Du kan bruge Sinon med enten Jest eller Mocha til at håne og spore aktiviteter i objekter og funktioner.

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

 

Kombination Jest eller Mocha med Chai og Sinon giver dig mulighed for at bygge kraftfulde og fleksible unit test s i TypeScript. Ved at bruge metoderne og funktionerne i Jest, Mocha, Chai, og Sinon, kan du sikre nøjagtigheden og pålideligheden af ​​din kildekode under softwareudviklingsprocessen.