Guia de IA para Testes Unitários: Zero Alucinação
A IA frequentemente falha em testes unitários. Ela inventa métodos. Cria estruturas de mock incorretas. Usa imports inexistentes. Isso acontece porque a IA carece de um contexto rigoroso.
Você pode interromper isso usando um sistema determinístico. Você deve passar de "adivinhação" para "imposição de regras".
Aqui está o padrão para testes unitários com zero alucinação em cinco grandes stacks.
O Padrão de Tech Stack
Escolha uma biblioteca por stack. Não as misture.
- Node.js (NestJS/Express): Jest
- React.js: Vitest + React Testing Library
- Python: pytest
- Angular: Jest
- Laravel: Pest
O Segredo: Regras de Escopo de Projeto
Prompts padrão não são suficientes. Você precisa injetar regras diretamente no seu IDE. Se você usa o Cursor, use o diretório .cursor/rules/.
Crie arquivos de regras específicos para cada tecnologia:
unit-test-global.mdc: Define o padrão AAA (Arrange, Act, Assert).unit-test-nestjs.mdc: Impõe o uso deTestingModuleejest-mock-extended.unit-test-react.mdc: Exige o uso deuser-eventem vez defireEvent.unit-test-python.mdc: Padroniza os padrões depytest-mock.unit-test-laravel.mdc: Garante a sintaxe do Pest e o uso do Mockery.
Esses arquivos atuam como um contrato. A IA os lê antes de cada prompt. Isso evita alucinações na origem.
O Contrato de Teste Unitário
Todo teste deve seguir estas cinco regras:
- Isolamento: Faça o mock de todas as dependências externas. Sem chamadas reais de DB ou HTTP.
- Estrutura: Use AAA. Sempre comente seus blocos Arrange, Act e Assert.
- Nomenclatura: Use "should [behavior] when [condition]". Evite nomes vagos como "test 1".
- Cobertura: Teste o caminho feliz (happy path), entradas nulas, caminhos de erro e casos de borda (edge cases).
- Velocidade: Cada teste deve ser executado em menos de 100ms.
Passos de Implementação
- Configure sua biblioteca e arquivos de configuração.
- Crie sua pasta
.cursor/rules/. - Adicione um arquivo
CLAUDE.mdna raiz do seu projeto para atuar como memória permanente. - Defina limites de cobertura em seu pipeline de CI (mire em 80% de linhas).
- Use hooks de pre-commit para garantir que nenhum código não testado entre no repositório.
Pare de pedir para a IA escrever testes. Comece a dizer à IA como escrever testes.
Fonte: https://dev.to/bhaumik-viitor/unit-test-ai-guide-zero-hallucination-cross-stack-standard-4mb2
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi