Introdução ao Teste Automatizado com Jest: Como Começar a Escrever Testes Eficientes

Lucas Pereira de Souza - May 9 - - Dev Community

Quando falamos sobre desenvolvimento de software, a garantia de qualidade é uma parte crítica para entregar produtos robustos e confiáveis. Uma das melhores maneiras de assegurar qualidade no código é através de testes automatizados. Dentre as diversas ferramentas disponíveis, o Jest é um framework popular e altamente eficaz para a realização de testes em projetos JavaScript e TypeScript. Neste blog post, vamos explorar como começar a usar o Jest para escrever testes eficientes e robustos.

O Que é Jest?

Jest é um framework de teste open-source mantido pela equipe do Facebook. Ele é amplamente utilizado na comunidade JavaScript devido à sua simplicidade e funcionalidades poderosas. Com Jest, você pode realizar diversos tipos de testes, incluindo testes unitários, de integração e de snapshot, todos em um único ambiente.

Por Que Usar Jest?

  1. Configuração Simplificada: Jest possui uma configuração mínima ou até mesmo zero configuração para a maioria dos projetos. Ele funciona perfeitamente com projetos criados com Create React App, Next.js e outros frameworks populares.

  2. Execução Rápida: Jest utiliza um mecanismo de execução de testes paralelos, tornando-o extremamente rápido. Além disso, ele é projetado para usar "watch mode", permitindo que você veja mudanças em tempo real enquanto desenvolve.

  3. Cobertura de Código: O Jest oferece uma maneira fácil de medir a cobertura de código, ajudando a garantir que você esteja testando uma parte significativa do seu código.

  4. Comunidade Ativa: Com uma grande comunidade, é fácil encontrar suporte, tutoriais e bibliotecas auxiliares para estender o Jest.

Como Instalar e Configurar Jest

Para começar a usar o Jest, primeiro você precisa instalá-lo em seu projeto. Se você já possui um projeto Node.js, pode instalá-lo usando o npm ou yarn:

# Com npm
npm install --save-dev jest

# Com yarn
yarn add --dev jest
Enter fullscreen mode Exit fullscreen mode

Para começar a usar o Jest com uma configuração básica, adicione um script no seu package.json:

"scripts": {
  "test": "jest"
}
Enter fullscreen mode Exit fullscreen mode

Isso permitirá que você execute o Jest usando o comando npm test ou yarn test.

Escrevendo Testes Simples com Jest

Vamos criar um teste simples para uma função que soma dois números. Primeiro, crie um arquivo chamado math.js com a seguinte função:

function sum(a, b) {
  return a + b;
}

module.exports = sum;
Enter fullscreen mode Exit fullscreen mode

Agora, crie um arquivo de teste chamado math.test.js para testar a função de soma:

const sum = require('./math');

test('soma 1 + 2 para ser 3', () => {
  expect(sum(1, 2)).toBe(3);
});
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, usamos a função test para definir um caso de teste. O expect é usado para definir as expectativas para o teste, enquanto toBe é um matcher que verifica se os valores são iguais.

Testando Comportamento Assíncrono

O Jest também suporta testes de código assíncrono, como funções que retornam promessas ou usam async/await. Veja um exemplo de teste para uma função que retorna uma promessa:

function fetchData() {
  return Promise.resolve('dados');
}

test('fetchData retorna "dados"', async () => {
  const data = await fetchData();
  expect(data).toBe('dados');
});
Enter fullscreen mode Exit fullscreen mode

Cobertura de Código com Jest

Uma das características mais úteis do Jest é sua capacidade de gerar relatórios de cobertura de código. Para fazer isso, você pode usar o seguinte comando:

# Gera um relatório de cobertura
npm test -- --coverage
Enter fullscreen mode Exit fullscreen mode

Após executar esse comando, o Jest gerará um relatório detalhado da cobertura de código, indicando quais partes do código estão cobertas por testes e quais não estão.

Conclusão

O Jest é uma ferramenta poderosa para testar código JavaScript e TypeScript. Com sua simplicidade e ampla funcionalidade, ele é uma ótima opção para desenvolvedores que desejam começar a escrever testes automatizados. Se você ainda não usa o Jest, espero que este blog post tenha sido útil para dar o pontapé inicial em seus testes automatizados. Lembre-se, testes automatizados não apenas melhoram a qualidade do seu código, mas também proporcionam confiança ao fazer alterações e refatorações no seu projeto. Feliz codificação e bons testes!

. . . . . . . . . . . . . . . . . .