Jest para Iniciantes: Introdução
Introdução
Este tutorial é para aqueles leitores que querem aprender jest do zero. E as instruções fornecidas neste tutorial não são muito detalhadas.
A maioria das informações aqui é retirada dos documentos do Jest
Tipos de Testes
Teste de Unidade
O teste de unidade é o tipo de teste que é feito em uma função individual, módulo, método, procedimento ou objeto.
Por exemplo: Para um aplicativo de calculadora simples, o desenvolvedor pode escrever o teste de unidade para verificar se o usuário pode inserir dois números e obter a soma correta para a funcionalidade de adição.
Teste de Integração
O teste de integração é um tipo de teste em que dois ou mais módulos de um aplicativo são agrupados logicamente e testados como um todo.
Por exemplo: Para testar um módulo de criação de usuário ou API, temos que adicionar verificações (em forma de middleware) nos dados fornecidos pelo usuário para verificar isso;
- se o usuário já existe no sistema ou não,
- os dados fornecidos pelo usuário são válidos ou não,
- a senha fornecida pelo usuário é forte ou não.
Depois de verificar tudo isso, o sistema criará usuário ou através de uma notificação de erro de acordo.
Teste End-to-End (e2e)
Testes “end-to-end” (E2E testing) são uma maneira de realizar testes atravessando todas as camadas da arquitetura de um sistema. Os testes são realizados do início ao fim.
Por exemplo:
- O teste cruza vários sistemas e grupos de usuários.
- Garante que um sistema, ou parte dele, continue funcionando após alterações serem feitas.
- Testa a maneira como vários usuários interagem no sistema.
- Valida se cada etapa do processo foi concluída.
Pré-solicitações
Crie um projeto usando npm ou yarn (vou usar npm ao longo deste tutorial)
npm init -y
depois disso, execute o seguinte comando para instalar o jest em sua dependência dev.
npm install --save-dev jest
Jest
Existem três métodos principais neste arquivo de teste:
test()
É o menor caso de teste de unidade que é escrito para ser executado. String entre aspas representa o nome do teste
test("<nome_do_teste>", () =>{
...
})
it()
O it é um alias de ‘test’. Portanto, eles são exatamente os mesmos do ponto de vista funcional. Eles existem tanto para permitir que você faça uma frase em inglês legível a partir do seu teste.
it("<nome_do_teste>", () =>{
...
})
expect()
É uma afirmação. Cada declaração test() tem uma função expect() que recebe um valor e espera um retorno na forma verdadeira. Um único caso de teste pode ter várias funções expect().
test("<nome_do_teste>", () =>{
...
expect(1+1).toBe(2);
...
})
describe()
É um conjunto de scripts de teste que fornece uma descrição externa para o conjunto de testes. Pode consistir em mais de um caso de teste.
describe("<nome_do_grupo_de_teste>", () =>{
test("<nome_do_teste>", () =>{
...
});
test("<outro_nome_do_teste>", () =>{
...
});
})
Mão na Massa
Ufa! Já podemos criar nosso primeiro teste de unidade.
Antes de iniciar o teste, escreva o script de teste em package.js
{ "scripts": { "test": "jest" } }package.json
Vamos começar escrevendo um teste para uma função que adiciona dois números e realiza a soma deles.
Primeiro, crie um arquivo sum.js:
function sum(a, b) { return a + b; } module.exports = sumsum.js
Agora é importante ter um diretório separado de casos de teste, siga os passos abaixo:
- Crie um repositório chamado test
- Adicione seus arquivos de teste nesse diretório, o nome do arquivo deve ter .test.js significa
.test.js - importe o módulo de função que deseja testar.
Depois de ler a diretriz acima, crie um arquivo chamado sum.test.js
const sum = require('../sum'); test("add dois numeros e soma os valores", () => { expect(sum(1, 2)).toBe(3); });sum.test.js
Por fim, execute o comando npm test e o Jest imprimirá esta mensagem:
PASS __test__/sum.test.js
√ add (1 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.349 s
UAU! Você acabou de escrever seu primeiro teste usando Jest!