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.
expect(total).toBe(42);
// on failure: expected 42, received 40O 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.