Unit tests ruins são pior que nenhum teste. Aprenda princípios que criam testes valiosos, rápidos e maintainables.
Carregando
Unit tests ruins são pior que nenhum teste. Aprenda princípios que criam testes valiosos, rápidos e maintainables.
Unit tests ruins são pior que nenhum teste. Aprenda princípios que criam testes valiosos, rápidos e maintainables.
Arrange: setup. Act: executa código. Assert: verifica resultado. Estrutura clara, legível.
Fast: < 100ms. Independent: não dependem de ordem. Repeatable: mesmo resultado sempre. Self-Validating: pass/fail claro. Timely: escrito junto com código.
Teste uma coisa. Falha clara. Exceção: assert múltiplos atributos de um objeto.
Mock apenas boundaries (DB, HTTP). Não mock lógica de negócio. Test doubles: mock, stub, spy, fake.
• AAA pattern sempre
• Descrições claras de comportamento
• Testes independentes (não compartilham state)
• Mock apenas I/O externo
• Rápidos (< 100ms cada)
• Um conceito por teste
• Teste comportamento, não implementação
• Evite lógica em testes
• Setup com beforeEach quando comum
• Cleanup com afterEach
• Edge cases e errors
• Determinísticos (sem random)
• Legíveis como documentação
• CI roda todos os testes
• Coverage > 80% de código crítico
• Testar métodos privados
• Múltiplos conceitos em um teste
• Testes dependentes de ordem
• Mock de tudo
• Assertions vagos (toBeTruthy)
• Não testar edge cases
Quando usar cada um