MODULO 3.5

👾 Escrever Testes

Workflow para gerar testes abrangentes automaticamente, aumentar cobertura e praticar TDD com o Claude Code.

6
Topicos
20
Minutos
Inter.
Nivel
Pratico
Tipo
1

🔍 Identificar Lacunas

O primeiro passo e identificar o que nao tem testes. O Claude pode analisar seu codebase e apontar exatamente onde faltam testes.

💡 Conceito Principal

Peca ao Claude para mapear a cobertura:

  • "Analise src/services/ e me diga quais funcoes nao tem testes correspondentes"
  • "Rode npx jest --coverage e analise quais arquivos tem menos de 80% de cobertura"
  • O Claude compara a estrutura de src/ com tests/ para encontrar gaps

Dica Pratica

Comece pelos arquivos mais criticos: "Quais sao os 5 arquivos mais importantes sem testes? Priorize por risco de bug"

2

🤖 Gerar Testes

Peca ao Claude para gerar testes automaticamente. Ele analisa a funcao, entende os inputs/outputs e cria testes abrangentes.

💡 Conceito Principal

O Claude gera testes completos com casos de borda:

  • "Escreva testes unitarios para src/services/payment.js cobrindo todos os cenarios"
  • "Inclua testes para: input valido, input invalido, erro de rede, timeout e permissao negada"
  • O Claude usa o framework de testes que seu projeto ja usa (Jest, Mocha, Pytest, etc.)

Dica Pratica

Seja especifico nos cenarios: "Escreva testes para calculateDiscount() cobrindo: desconto zero, desconto maximo, cupom expirado, usuario premium"

3

✅ Verificar e Corrigir

Apos gerar os testes, rode-os e corrija falhas. Testes gerados por IA podem ter problemas que precisam de ajuste.

💡 Conceito Principal

Ciclo de verificacao e correcao:

  • "Rode os testes que voce criou e corrija os que falharem"
  • O Claude analisa o erro, entende se e problema no teste ou no codigo, e corrige
  • Repita ate todos passarem: "Continue rodando e corrigindo ate todos os testes passarem"

Dica Pratica

Se um teste falha, pergunte: "Este teste falhou. O problema e no teste ou no codigo de producao? Explique antes de corrigir"

4

📊 Cobertura

Use metricas de cobertura de codigo para guiar onde ainda precisa de mais testes e medir o progresso.

💡 Conceito Principal

O Claude interpreta relatorios de cobertura e age neles:

  • "Rode a cobertura e escreva testes para as linhas nao cobertas em auth.service.ts"
  • "Aumente a cobertura de 60% para 90% neste modulo"
  • O Claude foca nas branches e linhas nao cobertas, nao em testes redundantes

Dica Pratica

Pipe o relatorio direto: npx jest --coverage 2>&1 | claude -p "Analise esta cobertura e escreva testes para as areas descobertas"

5

🔁 TDD com Claude

Pratique Test-Driven Development usando o Claude: escreva os testes primeiro, depois peca para implementar o codigo que faz os testes passarem.

💡 Conceito Principal

O ciclo TDD com Claude Code:

  • RED: "Escreva testes para uma funcao validateEmail() que ainda nao existe"
  • GREEN: "Agora implemente validateEmail() para fazer todos os testes passarem"
  • REFACTOR: "Refatore a implementacao mantendo os testes passando"

Dica Pratica

TDD com Claude e poderoso: "Quero criar um ShoppingCart. Escreva os testes primeiro definindo: addItem, removeItem, getTotal, applyDiscount. Depois implemente"

6

📚 Boas Praticas de Testes

Siga estas boas praticas para garantir que seus testes gerados pelo Claude sejam realmente uteis e manteniveis.

💡 Conceito Principal

Principios para testes de qualidade:

  • Peca nomes descritivos: "Use nomes de teste que descrevam o cenario: should_return_error_when_email_invalid"
  • Evite mocks excessivos: "Prefira testes de integracao para os endpoints, mocks apenas para servicos externos"
  • Cada teste deve testar uma coisa: "Garanta que cada it() testa apenas um comportamento"

Dica Pratica

Peca uma revisao dos testes: "Revise os testes que criamos. Tem algum fragil, redundante ou que testa implementacao ao inves de comportamento?"

📋 Resumo do Modulo

Lacunas - Identifique onde faltam testes
Geracao - Claude gera testes com edge cases
Verificacao - Rode e corrija ate todos passarem
Cobertura - Use metricas para guiar novos testes
TDD - Testes primeiro, implementacao depois
Boas Praticas - Nomes claros, um assert por teste

Proximo Modulo:

3.6 - Code Review