TDD (Test-Driven Development)
Usamos o ciclo red → green → refactor para escrever código com testes que valem a pena manter.
O ciclo
- Red — escreva um teste que falha (ainda não há implementação).
- Green — escreva a implementação mínima para o teste passar.
- 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.