Test Standards
Conjunto de normas para restringir a geração de código de teste por IA. Três conteúdos:
- unit-test-standards.md: Testes unitários — estrutura AAA / regras de Mock / estilo de asserção / isolamento de testes
- contract-test-standards.md: Testes de contrato — tradução de cenários de aceitação / cobertura de três estados / vermelho primeiro, depois verde
- test-data-standards.md: Dados de teste — fábrica de dados / Testcontainers / isolamento
Matriz de carregamento
| Tipo de tarefa | Obrigatório ler |
|---|---|
| Escrever teste unitário | standards/unit-test-standards.md |
| Escrever teste de contrato de interface (integrado com ai-dev-workflow 4.2) | standards/contract-test-standards.md + standards/unit-test-standards.md |
| Preparar dados de teste / teste de integração com banco de dados | standards/test-data-standards.md |
| Revisar código de teste | Todos (conforme o tipo correspondente) |
Regras essenciais de consulta rápida
- Teste é critério de aceitação: proibido alterar asserções/remover testes/@Disabled (o código não deve se adaptar ao teste)
- Um teste, um comportamento, estrutura AAA; asserções com AssertJ fluente
- Nomes de métodos de teste em camelCase em inglês (
createOrderShouldReturn400WhenUserNotExist), proibido nomes em chinês/pinyin; cenários em chinês no Javadoc - Todas as dependências mockadas, não testar detalhes de implementação; sem Thread.sleep
- Testes de contrato cobrem três estados (válido/inválido/limite), vermelho primeiro, depois verde
- Dados de teste usando fábrica, SQL complexo com banco real Testcontainers
- Isolamento de testes: sem dependência de ordem de execução, sem compartilhamento de estado mutável
Relacionamento com outras habilidades
- ai-dev-workflow: 4.2
/contract-testsfluxo de teste de contrato referencia o contract-test-standards desta habilidade (fluxo na habilidade de fluxo, normas de código nesta habilidade) - java-code-standards: Normas de código Java referenciam esta habilidade (carregar ao escrever testes)
- database-standards / comment-standards: Sem referência direta
Requisitos de uso
Antes de gerar qualquer código de teste, siga a matriz de carregamento (Tipo de tarefa → Matriz de carregamento) para ler as normas; após a geração, verifique item por item com a lista de verificação correspondente. Testes de contrato: vermelho primeiro, depois verde; o motivo do vermelho deve ser "a implementação não existe", não "o teste está errado".