O que é Jest e por que ele é necessário para TypeScript?
Jest é um framework poderoso e popular para testar JavaScript e TypeScript, desenvolvido pela Meta (Facebook). Ele fornece tudo o que é necessário para escrever unit tests, integration tests e snapshot tests "prontos para uso": biblioteca de assertions, mocks, spies, timers e cobertura de código. Para TypeScript, Jest é especialmente valioso, pois permite verificar tipos durante a execução dos testes, aumentando a confiabilidade do código. Usar Jest com TypeScript ajuda os desenvolvedores a encontrar erros mais rapidamente, refatorar código com confiança e manter a alta qualidade do projeto.
Instalação e configuração
Para começar, instale o Jest e os tipos necessários via npm ou yarn:
npm install --save-dev jest @types/jest ts-jest typescriptEm seguida, inicialize a configuração do Jest:
npx ts-jest config:initIsso criará um arquivo jest.config.js com as configurações para TypeScript. Certifique-se de que no tsconfig.json esteja definido "module": "commonjs" ou use ts-node para ESM.
Principais funcionalidades
- describe e it/test — agrupar e escrever testes.
- expect — função de assertion com vários matchers (toBe, toEqual, toContain, toThrow, etc.).
- beforeEach / afterEach — hooks para preparar e limpar o ambiente.
- jest.mock — mocking automático de módulos.
- jest.spyOn — espionar chamadas de funções.
- Snapshot testing — comparar a saída de componentes.
- Cobertura de código — utilitário embutido
--coverage.
Exemplo de código em TypeScript
// math.tsexport const add = (a: number, b: number): number => a + b;export const divide = (a: number, b: number): number => { if (b === 0) throw new Error('Division by zero'); return a / b;};
// math.test.tsimport { add, divide } from './math';
describe('Math functions', () => { test('adds two numbers correctly', () => { expect(add(2, 3)).toBe(5); expect(add(-1, 1)).toBe(0); });
test('throws error when dividing by zero', () => { expect(() => divide(10, 0)).toThrow('Division by zero'); });
test('divides correctly', () => { expect(divide(10, 2)).toBe(5); expect(divide(9, 3)).toBeCloseTo(3); });});Quando usar Jest com TypeScript?
- Qualquer projeto em TypeScript — desde pequenas bibliotecas até grandes aplicações.
- Desenvolvimento com TDD — Jest é excelente para escrever testes antes da implementação.
- Refatoração — para garantir que as mudanças não quebrem a lógica existente.
- Pipelines de CI/CD — execução rápida de testes e verificação de cobertura.
- Teste de componentes React — junto com @testing-library/react.
Jest é o padrão de facto para testar TypeScript, graças à simplicidade de configuração, API rica e excelente integração com ferramentas modernas.
Também na biblioteca
Processamento JSON em Swift: Codable, JSONSerialization e exemplos práticos
Gorilla Mux para Go: guia completo com exemplos
Trabalho com datas em Go (Golang): bibliotecas time, carbon e now
Aprendizado de Máquina em Go: uma visão geral das bibliotecas para Golang
Cliente Elasticsearch para PHP: elasticsearch-php — guia completo