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.