Skip to content

Testes

Quando testar algo

A resposta curta é sempre.

O objetivo de testar algo é ter testes automatizados que garantam a correta funcionalidade dos módulos/componentes antigos conforme são adicionados mais. Logo, sempre devemos testar.

A grande questão é o quanto devemos testar algo, quantos testes fazer, e o que testar. Bem, isso vai de caso a caso. Teste tudo aquilo que você considera crítico, e tente cobrir todas as linhas de código (coverage), teste tanto os casos onde tudo vai bem (variáveis de entradas corretas), quanto nos casos de borda (variáveis que levam o estado interno ao extremo).

Teste com jest vs teste snapshot e screenshot

Em nossa stack temos diversos tipos de testes, quais deles utilizar?

De forma curta, teste com snapshot tudo aquilo que não tiver interações que necessitem de testes, como por exemplo um botão, que a única interação é o callback do clicar do botão que é nativo no html e javascript.

Teste com screenshot tudo aqui que a correta apresentação visual é critica e não é coberta por outros screenshots, como por exemplo uma página inteira, que não é um componente que é utilizado por outros, e sua aparência é crítica. Para este caso podemos também testar em diversos navegadores e em diversas resoluções (nossa stack atualmente está configurada para fazer isso, e configurada para testar somente componentes de páginas).

Com jest você deve testar todos os módulos e classes javascript/typescript, e testar componentes simulando interações do usuário. Um exemplo de componente pode ser um select, que possui interações complexas que devem ser verificadas.

Quando utilizar fixtures e mockups em componentes

Como testar meu UI component quando tem dependência de uma viewmodel