2.7 KiB
2.7 KiB
| name | description | scope |
|---|---|---|
| diagnosticar-cobertura-testes | Diagnóstico de cobertura de testes: identificar áreas sem cobertura, priorizar criação de testes e mapear cenários ausentes. | local |
Skill: Diagnosticar Cobertura de Testes
Objetivo
Mapear a cobertura de testes de um módulo para identificar gaps críticos antes de criar novos testes ou validar correções.
Etapas
1. Inventariar Testes Existentes
# Listar arquivos de teste
fd "*.spec.ts" <modulo>/ -l
fd "*.test.ts" <modulo>/ -l
# Contar testes por pacote
echo "=== Back ===" && fd "*.spec.ts" <modulo>-back/ | wc -l
echo "=== Front ===" && fd "*.spec.ts" <modulo>-front/ | wc -l
echo "=== Comuns ===" && fd "*.spec.ts" <modulo>-comuns/ | wc -l
2. Mapear Código Sem Testes
# Listar arquivos de código sem arquivo de teste correspondente
for f in $(fd "*.ts" <modulo>-back/src/ --exclude "*.spec.ts" --exclude "*.test.ts" --exclude "*.d.ts"); do
base=$(basename "$f" .ts)
if ! fd "${base}.spec.ts" <modulo>/ -q && ! fd "${base}.test.ts" <modulo>/ -q; then
echo "SEM TESTE: $f"
fi
done
3. Classificar por Criticidade
| Criticidade | O que testar primeiro |
|---|---|
| 🔴 Crítico | Lógica de negócio em servicos/, schemas Zod, máquinas de estado |
| 🟡 Importante | Rotas de API, processadores de fila, composables complexos |
| 🟢 Desejável | Utils, helpers, componentes de UI puros |
4. Verificar Qualidade dos Testes Existentes
# Detectar testes sem assertions
rg "expect\(|assert\(|toBe\(|toEqual\(" --include='*.spec.ts' <modulo>/ -c | awk -F: '$2==0'
# Detectar testes com descrições vagas
rg "it\('" --include='*.spec.ts' <modulo>/ -n | grep -i "should work\|test\|funciona"
# Verificar mocks sem documentação
rg "mock\(|jest\.fn\(|vi\.fn\(" --include='*.spec.ts' <modulo>/ -n
5. Gerar Relatório
# Diagnóstico de Cobertura — [nome do módulo]
## Resumo
- **Arquivos de código:** N
- **Arquivos de teste:** N
- **Cobertura estimada:** N%
- **Gaps críticos:** N
## Gaps de Cobertura
### 🔴 Sem teste — Lógica Crítica
| Arquivo | Responsabilidade | Risco |
|---------|-----------------|-------|
### 🟡 Sem teste — Funcionalidade Importante
| Arquivo | Responsabilidade | Risco |
|---------|-----------------|-------|
## Testes Existentes com Problemas
| Arquivo de Teste | Problema | Ação |
|-----------------|----------|------|
## Plano de Priorização
1. [Crítico] Criar testes para ...
2. [Crítico] Criar testes para ...
3. [Importante] Criar testes para ...
Referências
- Rule:
global/rules/diagnostico-antes-correcao - Skill:
global/skills/diagnosticar-antes-corrigir/SKILL