Pular para o conteúdo principal

TDD (Test-Driven Development)

Usamos o ciclo red → green → refactor para escrever código com testes que valem a pena manter.

O ciclo

  1. Red — escreva um teste que falha (ainda não há implementação).
  2. Green — escreva a implementação mínima para o teste passar.
  3. Refactor — melhore o código mantendo os testes verdes.

Regras de um bom teste

  • Uma fatia vertical por vez — um teste → uma implementação.
  • Teste nos seams combinados — teste na interface/contorno pré-acordado.
  • Valores esperados de fonte independente — não derive o esperado do próprio código testado (evita testes "tautológicos").

Anti-padrões a evitar

  • Teste acoplado à implementação — quebra quando o código interno muda.
  • Teste tautológico — repete a lógica do código, sempre passa.
  • Fatiamento horizontal — testar camadas isoladas sem fluxo de valor.

Por que TDD

O feedback loop é a skill: o sinal claro de passa/falha que fica vermelho no bug certo é 90% da correção. TDD constrói esse loop desde o início.