Psaní jednotkových testů v TypeScript: Použití Jest, Mocha, a Kombinace s Chai a Sinon

Unit test ing je důležitou součástí vývoje softwaru pro zajištění přesnosti a spolehlivosti zdrojového kódu. S TypeScript, můžete psát unit test s snadno a flexibilně pomocí populárních rámců jako Jest a Mocha, v kombinaci s knihovnami asercí jako je Chai a zesměšňujícími knihovnami jako Sinon.

Zde je podrobný průvodce zápisem unit test pomocí TypeScript těchto nástrojů a knihoven:

 

Jest

Jest je široce používaný framework pro psaní unit test s TypeScript a JavaScript. Poskytuje jednoduchou syntaxi a výkonné funkce, jako je zesměšňování, testování snímků a zprávy o pokrytí.

Chcete-li začít psát unit test s pomocí Jest, musíte nainstalovat Jest pomocí npm nebo yarn spuštěním následujícího příkazu:

npm install jest --save-dev

Poté můžete vytvořit testovací soubory s příponou .spec.ts nebo .test.ts a psát testovací případy.

Například:

// 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 je flexibilní rámec pro testovací běh pro TypeScript JavaScript. Podporuje jasnou syntaxi a různé typy testů, jako jsou unit test s, integrační testy a funkční testy.

Chcete-li použít Mocha v TypeScript, musíte nainstalovat Mocha a Chai přes npm nebo yarn spuštěním následujícího příkazu:

npm install mocha chai --save-dev

Poté můžete vytvářet testovací soubory a psát testovací případy.

Například:

// 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 je populární knihovna asercí používaná pro psaní asercí v unit test s. Poskytuje jasnou a flexibilní syntaxi, která vám umožní prosadit výsledky vašeho zdrojového kódu. K psaní asercí ve svých testovacích případech můžete použít Chai buď s Jest nebo. Mocha

Například:

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 je populární knihovna pro zesměšňování a špehování, která se používá k zesměšňování a sledování chování v testovacích případech. Můžete použít Sinon buď s Jest nebo Mocha k zesměšňování a sledování aktivit v objektech a funkcích.

Například:

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

 

Kombinace Jest nebo Mocha s Chai a Sinon umožňuje vytvářet výkonné a flexibilní unit test s v TypeScript. Použitím metod a funkcí Jest, Mocha, Chai a Sinon, můžete zajistit přesnost a spolehlivost vašeho zdrojového kódu během procesu vývoje softwaru.