skills/testing-patterns/SKILL.md
Padrões e princípios de teste. Estratégias de testes unitários, de integração e mocking.
npx skillsauth add lucasfdigital/orchard testing-patternsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Princípios para suítes de teste confiáveis.
/\ E2E (Poucos)
/ \ Fluxos críticos
/----\
/ \ Integração (Alguns)
/--------\ API, consultas ao BD
/ \
/------------\ Unitários (Muitos)
Funções, classes
| Passo | Propósito | | :--- | :--- | | Arrange (Organizar)| Configurar os dados do teste | | Act (Agir) | Executar o código sendo testado | | Assert (Afirmar) | Verificar o resultado |
| Tipo | Ideal Para | Velocidade | | :--- | :--- | :--- | | Unitário | Funções puras, lógica | Rápido (<50ms) | | Integração | API, BD, serviços | Médio | | E2E | Fluxos críticos do usuário| Lento |
| Princípio | Significado | | :--- | :--- | | Rápido | < 100ms cada | | Isolado | Sem dependências externas | | Repetível | Mesmo resultado sempre | | Auto-verificável | Sem necessidade de verificação manual | | Oportuno | Escrito junto com o código |
| Testar | NÃO Testar | | :--- | :--- | | Lógica de negócio | Código do framework | | Casos de borda | Bibliotecas de terceiros | | Tratamento de erros | Getters simples |
| Área | Foco | | :--- | :--- | | Endpoints de API | Requisição/Resposta | | Banco de Dados | Consultas, transações | | Serviços externos | Contratos |
| Fase | Ação | | :--- | :--- | | Before All (Antes de tudo) | Conectar recursos | | Before Each (Antes de cada) | Resetar estado | | After Each (Depois de cada) | Limpar | | After All (Depois de tudo) | Desconectar |
| Usar Mock | NÃO Usar Mock | | :--- | :--- | | APIs externas | O próprio código sendo testado | | Banco de Dados (unitário) | Dependências simples | | Tempo/Aleatório | Funções puras | | Rede | Armazenamentos em memória |
| Tipo | Uso | | :--- | :--- | | Stub | Retorna valores fixos | | Spy | Rastreia chamadas | | Mock | Define expectativas | | Fake | Implementação simplificada |
| Padrão | Exemplo | | :--- | :--- | | Should behavior (Deveria) | "should return error when..." | | When condition (Quando) | "when user not found..." | | Given-when-then (Dado-quando-então)| "given X, when Y, then Z" |
| Nível | Uso | | :--- | :--- | | describe | Agrupar testes relacionados | | it/test | Caso individual | | beforeEach | Configuração comum |
| Abordagem | Uso | | :--- | :--- | | Factories | Gerar dados de teste | | Fixtures | Conjuntos de dados pré-definidos | | Builders | Criação fluida de objetos |
| Prática | Por que | | :--- | :--- | | Um assert por teste | Motivo de falha claro | | Testes independentes | Sem dependência de ordem | | Testes rápidos | Executar frequentemente | | Nomes descritivos | Auto-documentados | | Limpeza (Clean up) | Evitar efeitos colaterais |
| ❌ NÃO Faça | ✅ Faça | | :--- | :--- | | Testar implementação | Testar comportamento | | Código de teste duplicado | Use factories | | Setup de teste complexo | Simplifique ou divida | | Ignorar testes instáveis (flaky)| Corrija a causa raiz | | Pular a limpeza | Resete o estado |
Lembre-se: Testes são documentação. Se alguém não conseguir entender o que o código faz através dos testes, reescreva-os.
development
Princípios de teste de aplicações web. E2E, Playwright, estratégias de auditoria profunda.
development
Revisar o código da UI para conformidade com as Web Interface Guidelines. Use quando solicitado para "revisar minha UI", "checar acessibilidade", "auditar design", "revisar UX" ou "verificar meu site em relação às melhores práticas".
testing
Princípios avançados de análise de vulnerabilidade. OWASP 2025, Segurança da Cadeia de Suprimentos (Supply Chain), mapeamento de superfície de ataque e priorização de riscos.
development
Princípios do workflow de Desenvolvimento Orientado a Testes (TDD). Ciclo RED-GREEN-REFACTOR.