Logo Dallington Augusto

  • Home
  • Artigos
  • Sobre

Jest para Iniciantes: Introdução

Este artigo foi publicado em 30/07/2022, e leva aproximadamente 4 minutos para ler.

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 = sum
sum.js

Agora é importante ter um diretório separado de casos de teste, siga os passos abaixo:

  1. Crie um repositório chamado test
  2. Adicione seus arquivos de teste nesse diretório, o nome do arquivo deve ter .test.js significa .test.js
  3. 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!

Índice

  • Introdução
  • Tipos de Testes
    • Teste de Unidade
    • Teste de Integração
    • Teste End-to-End (e2e)
  • Pré-solicitações
  • Jest
    • test()
    • it()
    • expect()
    • describe()
  • Mão na Massa

Gostou desse artigo ?

  • 🤩
  • 😑
  • 😒
  • Home
  • Artigos
  • Jardim
  • Sobre
  • Contato

Exceto onde indicado de outra forma, o conteúdo deste site é licenciado sob uma licença CC BY 4.0