Escrevendo testes de unidade em TypeScript: usando Jest, Mocha e combinando com Chai e Sinon

Unit test A programação é uma parte importante do desenvolvimento de software para garantir a precisão e a confiabilidade do código-fonte. Com TypeScript, você pode escrever unit test s de forma fácil e flexível, usando estruturas populares como Jest e Mocha, combinadas com bibliotecas de asserção como Chai e bibliotecas simuladas como Sinon.

Aqui está um guia detalhado sobre como escrever unit test s TypeScript com essas ferramentas e bibliotecas:

 

Jest

Jest é uma estrutura amplamente usada para escrever unit test s TypeScript e JavaScript. Ele fornece uma sintaxe simples e recursos poderosos, como simulação, teste de instantâneo e relatórios de cobertura.

Para começar a escrever unit test s com Jest, você precisa instalar Jest via npm ou yarn executando o seguinte comando:

npm install jest --save-dev

Em seguida, você pode criar arquivos de teste com a extensão .spec.ts ou .test.ts e escrever casos de teste.

Por exemplo:

// 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 é uma estrutura executora de teste flexível para TypeScript e JavaScript. Ele suporta uma sintaxe clara e vários tipos de testes, como unit test s, testes de integração e testes funcionais.

Para usar Mocha in TypeScript, você precisa instalar Mocha e Chai via npm ou yarn executando o seguinte comando:

npm install mocha chai --save-dev

Em seguida, você pode criar arquivos de teste e escrever casos de teste.

Por exemplo:

// 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 é uma biblioteca de asserções popular usada para escrever asserções em unit test s. Ele fornece uma sintaxe clara e flexível, permitindo que você afirme os resultados de seu código-fonte. Você pode usar Chai com Jest ou Mocha para escrever asserções em seus casos de teste.

Por exemplo:

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 é uma biblioteca popular de zombaria e espionagem usada para zombar e rastrear comportamentos em casos de teste. Você pode usar Sinon com Jest ou Mocha para simular e rastrear atividades em objetos e funções.

Por exemplo:

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

 

A combinação Jest de ou Mocha com Chai e Sinon permite criar unit test s poderosos e flexíveis em TypeScript. Ao usar os métodos e funcionalidades de Jest, Mocha, Chai e Sinon, você pode garantir a precisão e a confiabilidade de seu código-fonte durante o processo de desenvolvimento de software.