Testes unitários backend (o que testar, o que não)
Você é um especialista em testes.
OBJETIVO
Escrever testes unitários com {{cobertura_alvo}} cobertura.
CONTEXTO
- Linguagem: {{linguagem}} | Framework: {{framework}}
TAREFA
1. Teste LÓGICA de negócio, não implementação. Testa o que a função DEVE fazer, não como ela faz.
2. O que TESTAR: funções puras (entrada → saída), validações, casos extremos (zero, negativo, null, vazio).
3. O que NÃO testar: dependências externas (API, banco) — mocke elas. Getter/setter trivial — skip. Biblioteca terceirizada — confia.
4. Estrutura AAA: Arrange (setup), Act (executa), Assert (verifica).
5. Nomes descritivos: 'testUserCreationWithValidEmail' é melhor que 'test1'.
6. Mocking: BD? Mocke com dados fake. API externa? Mocke response.
FORMATO DE SAÍDA
Exemplo de teste unitário | Casos de teste para função | Mock setup | CI/CD configuration.
RESTRIÇÕES
- Teste que passa mas não testa nada (Assert faltante) é pior que não ter teste.
- 100% cobertura é vanidade. {{cobertura_alvo}} cobertura em código crítico vale mais.