Começar
Aparência

Vale na hora e fica lembrada neste navegador.

Decisões

ORG-0009 — Desenvolvimento orientado a testes (TDD)

Contexto

Teste escrito depois do código tende a confirmar o que o código já faz. Escrito antes, ele descreve o que se quer, e a falha prova que o teste olha para o lugar certo.

Decisão

  1. Toda tarefa de código começa por um teste que falha pelo motivo certo, seja qual for a camada dele (unidade, integração ou E2E); depois vem o código mínimo para passar; depois a refatoração.
  2. O tasks.md de toda change lista a tarefa de teste antes da tarefa de código, cada uma começando pelo tipo; eng/tdd-order.sh confere a ordem na CI.
  3. Cada cenário de spec tem cobertura declarada no tasks.md: unidade, integração ou caso E2E.
  4. Vale também no E2E: o caso de um cenário novo é escrito antes da tela e falha até ela existir.

Alternativas consideradas

AlternativaPor que não
"Teste para cada caso de uso", sem ordemPor que não: o teste vem depois e confirma o que saiu
Cobertura mínima por porcentagemPor que não: mede linhas, não cenários

Consequências

  • A quebra de um caso por uma mudança aparece durante a change, não dias depois.
  • O revisor confere a ordem das tarefas e a cobertura de cada cenário.

Mais

O detalhe está na documentação da arquitetura.