Skip to content
Latchkey

O que é um unit test?

Um unit test verifica que um pequeno pedaço de código, como uma única função, se comporta corretamente isolado do resto do sistema.

Unit tests são os testes menores, mais rápidos e mais numerosos em uma suíte de testes saudável. Eles verificam blocos de construção individuais do seu código de forma tão minuciosa que, quando algo quebra, você sabe exatamente onde, porque cada teste cobre apenas uma pequena unidade.

O que é

Um unit test exercita uma única unidade de código, tipicamente uma função ou método, com entradas específicas e verifica que a saída é o que você espera. Ele isola essa unidade, frequentemente substituindo suas dependências por fakes simples, de modo que o teste só falha quando aquela lógica específica está errada.

Como funciona

Você arruma algumas entradas, age chamando a função, e verifica o resultado. Um framework de testes roda muitos testes desse tipo e reporta quais passaram e falharam. Como cada unit test toca muito pouco, ele roda em milissegundos, então milhares podem rodar em segundos.

Um exemplo

A unit test for one function
test("adds tax correctly", () => {
  expect(addTax(100, 0.1)).toBe(110);
});

Por que unit tests ancoram uma suíte

Unit tests são rápidos, baratos e precisos. A pirâmide de testes recomenda ter muitos deles porque dão o feedback mais rápido e mais localizado. Quando um unit test falha, a causa geralmente é óbvia, ao contrário de uma falha ampla end-to-end que poderia vir de qualquer lugar.

Bons unit tests

  • Testam uma coisa, com um nome claro e descritivo.
  • Rodam rápido e de forma independente de outros testes.
  • Evitam bancos de dados ou redes reais; isolam a unidade.
  • Falham com uma mensagem que aponta diretamente para o problema.

Principais conclusões

  • Um unit test verifica um pequeno pedaço de código isoladamente.
  • Unit tests são rápidos, numerosos e localizam falhas com precisão.
  • Eles formam a base ampla de uma suíte de testes saudável.

Guias relacionados