Rašymo vienetų testai TypeScript: naudojant Jest, Mocha ir derinant su Chai ir Sinon

Unit test ing yra svarbi programinės įrangos kūrimo dalis, siekiant užtikrinti šaltinio kodo tikslumą ir patikimumą. Naudodami TypeScript, galite rašyti unit test lengvai ir lanksčiai, naudodami populiarias sistemas, tokias kaip Jest ir Mocha, kartu su teiginių bibliotekomis, pavyzdžiui, Chai ir tyčiojančiomis bibliotekomis, pvz. Sinon, .

Čia yra išsamus vadovas, kaip rašyti unit test naudojant TypeScript šiuos įrankius ir bibliotekas:

 

Jest

Jest yra plačiai naudojama sistema, skirta rašyti unit test s TypeScript ir JavaScript. Jame pateikiama paprasta sintaksė ir galingos funkcijos, pvz., pasityčiojimas, momentinių nuotraukų testavimas ir aprėpties ataskaitos.

Norėdami pradėti rašyti unit test su Jest, turite įdiegti Jest naudodami npm arba yarn, vykdydami šią komandą:

npm install jest --save-dev

Tada galite sukurti bandomuosius failus su plėtiniu .spec.ts arba .test.ts ir rašyti bandomuosius atvejus.

Pavyzdžiui:

// 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 yra lanksti bandomoji sistema, skirta TypeScript ir JavaScript. Jis palaiko aiškią sintaksę ir įvairių tipų testus, tokius kaip unit test s, integravimo testai ir funkciniai testai.

Norėdami naudoti Mocha, TypeScript turite įdiegti Mocha ir Chai per npm arba yarn, vykdydami šią komandą:

npm install mocha chai --save-dev

Tada galite kurti bandomuosius failus ir rašyti bandomuosius atvejus.

Pavyzdžiui:

// 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 yra populiari teiginių biblioteka, naudojama teiginiams rašyti unit test s. Tai suteikia aiškią ir lanksčią sintaksę, leidžiančią patvirtinti šaltinio kodo rezultatus. Galite naudoti Chai su Jest arba, Mocha norėdami rašyti tvirtinimus savo bandomuosiuose atvejuose.

Pavyzdžiui:

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 yra populiari pašaipių ir šnipinėjimo biblioteka, naudojama bandomaisiais atvejais pasišaipyti ir sekti elgesį. Galite naudoti Sinon su Jest arba, Mocha norėdami tyčiotis ir stebėti objektų ir funkcijų veiklą.

Pavyzdžiui:

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

 

Derinant Jest arba Mocha su Chai ir Sinon leidžia sukurti galingus ir lanksčius unit test s in TypeScript. Jest Naudodami, Mocha, Chai, ir metodus ir funkcijas Sinon, galite užtikrinti savo šaltinio kodo tikslumą ir patikimumą programinės įrangos kūrimo proceso metu.