Geração automática de testes
Teste unitário, teste integrado, teste E2E —— joga código no OpenClaw, teste sai automático
Escrever teste é coisa que ninguém ama
Feature ta pronta pra ir pro ar mas teste sempre fica pra "próxima versão". Daí app quebra quando sobe pra produção, descobre que nunca testou os casos extremos.
Escrever mock é coisa de maluco, uma API depende de três serviços, só pra fazer mock dos dados gasta meia hora, mais código que a coisa em si.
Relatório de cobertura diz 30%, quando chefe pergunta só dá pra disfarçar dizendo "lógica principal tá coberta". Mas na real nem o happy path tá tudo testado.
Como OpenClaw resolve o problema de testes
OpenClaw não é esses geradores que fazem qualquer test case e pronto. Ele analisa assinatura de função, lógica de branch, caminho de exceção, identifica automaticamente casos extremos e cenários que podem dar ruim.
Seu function tem verificação de null? Ele gera teste pra input null. Tem loop? Testa array vazio, um elemento, tonelada de dados. Tem try-catch? Constrói input que faz a exceção disparar.
E ele entende qual framework de teste o projeto usa —— Jest, Pytest, JUnit, Vitest, gera código que roda direto, sem precisa ajustar formato.
Prompts de testes que sai pronto pra usar
Três prompts que cobrem testes unitários, E2E, teste de carga. Escolhe conforme precisa.
Analisa todas as funções e métodos de classe exportados desse módulo.
Gera teste completo pra cada função, com esses requisitos:
1. Objetivo de cobertura acima de 90% (cobertura de statement + cobertura de branch)
2. Pra cada função testa no mínimo: entrada normal, valores extremos, entrada errada
3. Pra dependência externa usa mock, não depende de banco de dados real ou rede
4. Nome do teste claro, formato "should xxx when xxx"
5. Adiciona setup/teardown se necessário
Usa o framework de teste que o projeto já usa, mantém estilo consistente.
Usa Playwright pra escrever teste E2E do seguinte fluxo de login:
Cenários de teste:
1. Login normal: digita usuário e senha corretos, valida que redireciona pra home
2. Senha errada: digita senha errada, valida que mostra mensagem de erro
3. Form vazio: não digita nada e clica submit, valida validação do form
4. Lembrar de mim: marca "remember me", fecha e reabre pra validar que tá logado
5. Logout: faz login, clica sair, valida que volta pra página de login
Requesitos:
- Usa Page Object Model pattern pra organizar código
- Adiciona estratégia de espera apropriada, não usa sleep
- Print screenshot em cenários que falham pra debug
Gera script de teste de carga pra seguinte interface de API (usa k6 ou Artillery):
Configuração de teste:
1. Aumento gradual: começa 10 requisições paralelas, aumenta 10 a cada 30 segundos, máximo 200
2. Duração: 5 minutos total
3. Distribuição de requisição: 70% leitura, 20% escrita, 10% atualização
4. Registra métrica: latência P50/P95/P99, taxa de erro, throughput
Gera script pra análise dos resultados, faz relatório de gargalo de performance.
Se P99 > 500ms ou taxa de erro > 1%, marca como precisa otimização.
Geração de teste: OpenClaw vs Copilot
Ambos geram teste, mas qualidade é bem diferente.
- Analisa lógica completa de função e caminho de branch, cobertura de caso extremo é total
- Entende dependência entre arquivos, mock é gerado com precisão
- Suporta especificar objetivo de cobertura, se não bate vai complementar com mais casos
- Gera script completo pra cenário complexo como E2E e teste de carga
- Gera baseado no arquivo atual, fácil perder dependência entre arquivos
- Foca em gerar happy path, cobertura de caso extremo fica de fora
- Mock geralmente precisa mexer manualmente
- Suporte limitado pra cenário complexo como E2E e teste de carga