Loading...Loading...
46

Jest Tutorial: Aprendendo a escrever testes JavaScript

By Pedro Ladeira

Last update at 07/17/20213 Min.

Depois de criada a noção básica de O que é Teste de Software, Como pensar para escrever testes de software e O que é TDD, está na hora de entender o que é o Jest e como dar os primeiros passos com essa biblioteca.
Todos esses assuntos sobre testes estão em uma série do meu canal chamada Aprendendo sobre Testes. Ainda estamos no início e esse é o primeiro episódio que iremos colocar a mão na massa. Se não quiser perder os próximos textos, já pode ir seguindo o meu canal aí 🤩.
Vamos lá!?

O que é Jest?

Jest é uma das ferramentas mais conhecidas da comunidade JavaScript quando o assunto é teste. Ela foi inicialmente desenvolvida pelo Facebook para testar o framework React, porém ganhou tanta proporção que também é usada com TypeScript, Node, Angular, Vue e outras.
Em um vídeo de 2016, o seu criador, Christoph Pojer, explica um pouco mais sobre o Jest e a sua criação. Caso queira dar uma olhada:

Por que usar o Jest?

A medida que a sua aplicação vai tomando uma proporção grande, é inviável, em alguns momentos, ficar testando várias funções com apenas console.log().
Foi com essa mesma mentalidade que os desenvolvedores do Facebook focaram tanto na construção do Jest. É essencial ter uma metodologia de testes que permita medir a cobertura do código, tendo, assim, a facilidade para criar situações de falhas e acertos.
Dentre as vantagens do Jest, podemos destacar:
  • configuração simples e rápida
  • ótima documentação
  • uma boa experiência com o test runner
  • rápido e seguro
  • gera cobertura de código
  • é possível fazer snapshot testing

Instalação

Vale ressaltar que para conseguir fazer a instalação do Jest, é necessário que você já tenha o Node instalado no seu computador. Caso contrário, pode fazer o download aqui.
Iremos, a partir de agora, criar um projeto do zero para entender o funcionamento do Jest. Para isso, precisamos, primeiramente, criar um arquivo package.json, rodando o seguinte comando no terminal:
O Jest pode ser instalado tanto pelo Yarn, quanto pelo NPM.

yarn

Para instalar o Jest com Yarn, basta rodar o seguinte comando no seu terminal:

npm

Para instalar o Jest com NPM, basta rodar o seguinte comando no seu terminal:

Configuração

Uma vez instalado, para configurar o Jest no projeto é bem simples. No arquivo package.json gerado, basta adicionar o seguinte script:

Escrevendo o primeiro teste JavaScript

Para início de conversa, vamos criar um arquivo emailValido.js, no qual temos a função que verifica o e-mail fornecido:
Entendendo a função acima, nós recebemos um email por argumento e baseado no regex armazenado na variável re, iremos retornar true ou false sobre a veracidade do email recebido.
Em seguida, iremos criar um arquivo de teste emailValido.test.js, no qual iremos escrever os códigos para testar se a nossa função validateEmail() está funcionando da maneira como deveria:
A função test() é fornecida pelo próprio Jest e recebe dois argumentos:
  • string - descrição do que está sendo testado
  • function - função sem argumentos que irá testar o nosso código
Observe que escrevemos dois testes. Pelas descrições fornecidas, estamos testando se a nossa função validateEmail() irá retornar true para [email protected] e false para xxxAgmail.com.
Assim como a função test() é fornecida pelo Jest, as funções expect()toBeTruthy()toBeFalsy() também são da biblioteca.
Para rodar os testes usando o Jest, basta rodar no terminal:
ou
No terminal, temos o feedback se os nossos testes falharam ou passaram:
Caso você queira ver com mais detalhes o código escrito, está salvo em um repositório do GitHub bem aqui.
Bom, chegamos ao fim desse primeiro episódio, no qual você entendeu sobre o que é o Jest e como escrever o seu primeiro código com ele. Ainda há muita teoria por trás de tudo e é justamente aí que iremos nos aprofundar. Se não quiser perder, já vai se inscrevendo no meu canal.
Para conseguir produzir ainda mais conteúdos de qualidade, há a opção de você se tornar um membro pago deste canal. Assim, você não só estará ajudando na produção de conteúdo, mas também irá fazer com que isso chegue em ainda mais pessoas. Portanto, se você vê sentido no que falei, considere-se tornar um membro mensal por R$4,90 ou anual por R$49,90.
Além disso, se você não acredita que os conteúdos tenham o valor da sua assinatura, há a opção de você fazer uma ajuda na produção de conteúdo mais pontual com cafézinhos. No menu que aparece aí para você, basta clicar no R$6,00 e escolher o valor que quiser. 
Agora, se você não tem condição de ajudar, está tudo bem também. Apenas senta o dedo na raquete que tem aí. Assim, você mostra que gostou deste conteúdo.