Começar
Aparência

Vale na hora e fica lembrada neste navegador.

Decisões

ORG-0016 — Testes fim a fim hierárquicos

Contexto

O fim a fim é a única camada que prova que o usuário consegue, numa tela, de ponta a ponta. Um roteiro em seções sequenciais cresce mal: cada seção depende das anteriores, uma falha esconde as outras, e testar uma tela exige rodar tudo antes dela.

Decisão

  1. Ferramenta igual em toda stack: Playwright Test sobre Node, em e2e/, em TypeScript, com o Chromium da versão do Playwright.
  2. Quatro níveis: corrida → agrupamento (≈ capability) → cenário (≈ requirement) → caso (≈ scenario). Cada nível declara o setup de que precisa; os setups rodam sob demanda, uma vez cada, em cascata; qualquer caso roda sozinho.
  3. Os setups usam os mesmos passos dos casos, pela interface. Preparar o ambiente por fora dela é exceção nomeada: os preparadores clock, volume e state.
  4. O ambiente não presume SQL nem um banco só: armazenamentos, dados-base, preparadores e simuladores de serviços externos (no perfil e2e do Compose) são pontos de encaixe que a stack preenche numa ADR (a ADR-0004 pré-escrita). Nada sai para a rede de fora.
  5. Modos verificar, demonstrar e capturar; capturas ligadas aos casos; o caso narra os passos e o roteiro legível é gerado de uma corrida.
  6. Um processo, sem retentativas, sem comparação visual; login pela tela do Keycloak; resultados em e2e/results/. Roda na estação de trabalho; na CI, só por ADR da stack.

Alternativas consideradas

AlternativaPor que não
Executor próprioPor que não: reimplementa seleção, relatório, trace e isolamento, e tende a virar um roteiro de seções dependentes
Cucumber / GherkinPor que não: uma camada de tradução de frases a mais; a spec já é o texto legível
CypressPor que não: sem ganho sobre o Playwright

Consequências

  • O harness hierarchy/ vem do modelo e é igual em toda stack.
  • Escrever os passos reutilizáveis é trabalho da stack, uma vez por ação.

Mais

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