Test as You Touch

Recurso Em desenvolvimento

Test as You Touch / Test as You Touch

Padrão de qualidade CI/CD da Mukutu (ABM Portal), implementado abr/2026 com Claude Code. Fonte: skillflow.

A regra / The rule

Toda alteração em src/ exige um teste correspondente. Sem teste, o merge é bloqueado automaticamente.

  • Arquivo em src/ sem teste → guardrail BLOQUEIA.
  • Arquivo em src/ com teste → guardrail PASSA → suite roda → merge.
  • Sem alteração em src/PASSA direto.

Pipeline / Pipeline

Sequencial com fail-fast (se o guardrail falha, a suite nem roda):

StepNomeTempoStack
1Diff Coverage Guardrail~35 sgit + bash
2Test Run Suite~4 minPHP + MySQL + Composer + PHPUnit

Árvore de decisão do guardrail / Guardrail decision tree

Para cada arquivo alterado: está em src/? Não → ignora. Diretório ignorado (Console/, View/Helper/, Error/)? Sim → ignora. Tem teste em tests/TestCase/? Não → FAIL. Teste tem assertions reais (não só markTestIncomplete)? Não → FAIL. Sim → OK.

Regras / Rules

  • Mapeamento CakePHP: src/Controller/FooController.phptests/TestCase/Controller/FooControllerTest.php.
  • markTestIncomplete() não conta como teste.
  • Roda em PRs e em todos os branches. Bypass temporário: STRICT_MODE=false.

Por que importa para a Nova Mukutu / Why it matters

  • Qualidade vira gate automático, não disciplina manual — sustenta o fluxo de entrega sem regressão.
  • Padrão replicável para os repos da equipe (ver Nova Mukutu).

Fontes / Sources