Skip to content
Latchkey

O Que É uma Assertion?

Uma assertion é a declaração em um teste que verifica um resultado real contra um esperado, decidindo se o teste passa ou falha.

Todo teste no fim das contas se resume a assertions. Uma assertion declara "isto deveria ser verdadeiro", e se não for, o teste falha. A qualidade de um teste vive em suas assertions: um teste que roda muito código mas faz poucas assertions não prova quase nada. Assertions afiadas são o que dá significado a um check verde.

O que uma assertion faz

Uma assertion compara um valor real a uma expectativa e levanta uma falha se não coincidirem. A falha carrega uma mensagem explicando o que era esperado versus o que ocorreu, que é o que torna um teste falho acionável em vez de apenas vermelho.

Tipos comuns de assertions

  • Igualdade: o real é igual ao esperado.
  • Veracidade: um valor é verdadeiro, presente ou não nulo.
  • Exceções: uma chamada lança o erro esperado.
  • Verificações de coleção e forma: contém, comprimento, corresponde.

Um exemplo rápido

Uma assertion declara o resultado esperado; uma mensagem de falha clara aponta direto para a discrepância.

A basic equality assertion
expect(total).toBe(42);
// on failure: expected 42, received 40

O que faz uma boa assertion

Boas assertions são específicas e focadas em comportamento: verificam o resultado que importa, não detalhes incidentais de implementação. Poucas assertions demais deixam bugs sem serem capturados (o problema que o mutation testing expõe); as excessivamente específicas tornam testes frágeis. Mire em assertions que falhem quando o comportamento estiver errado e apenas então.

Assertions e o sinal do CI

No CI, a assertion é o que determina passa ou falha, e sua mensagem é o que o desenvolvedor lê em um build quebrado. Assertions fortes mais um runner rápido e confiável significam que um build vermelho é ao mesmo tempo significativo e rápido de diagnosticar, que é todo o objetivo do teste automatizado.

Principais conclusões

  • Uma assertion verifica um resultado real contra uma expectativa.
  • A qualidade do teste vive na precisão de suas assertions.
  • Boas assertions falham exatamente quando o comportamento está errado.

Guias relacionados