DEV Community

Cover image for Introdução ao Teste Automatizado com Jest: Como Começar a Escrever Testes Eficientes
Lucas Pereira de Souza
Lucas Pereira de Souza

Posted on

4

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

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!

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay