Guía de IA para Pruebas Unitarias: Cero Alucinaciones
La IA suele fallar al realizar pruebas unitarias. Inventa métodos. Crea estructuras de mock incorrectas. Utiliza importaciones inexistentes. Esto sucede porque la IA carece de un contexto estricto.
Puedes evitar esto utilizando un sistema determinista. Debes pasar de las conjeturas a la imposición.
Aquí está el estándar para pruebas unitarias con cero alucinaciones en cinco de los principales stacks.
El Estándar del Stack Tecnológico
Elige una librería por stack. No las mezcles.
- Node.js (NestJS/Express): Jest
- React.js: Vitest + React Testing Library
- Python: pytest
- Angular: Jest
- Laravel: Pest
El Secreto: Reglas con Ámbito de Proyecto
Los prompts estándar no son suficientes. Necesitas inyectar reglas directamente en tu IDE. Si usas Cursor, utiliza el directorio .cursor/rules/.
Crea archivos de reglas específicos para cada tecnología:
- unit-test-global.mdc: Establece el patrón AAA (Arrange, Act, Assert).
- unit-test-nestjs.mdc: Impone el uso de TestingModule y jest-mock-extended.
- unit-test-react.mdc: Exige el uso de user-event en lugar de fireEvent.
- unit-test-python.mdc: Estandariza los patrones de pytest-mock.
- unit-test-laravel.mdc: Asegura la sintaxis de Pest y el uso de Mockery.
Estos archivos actúan como un contrato. La IA los lee antes de cada prompt. Esto evita las alucinaciones desde la raíz.
El Contrato de Pruebas Unitarias
Cada prueba debe seguir estas cinco reglas:
- Aislamiento: Realiza mock de todas las dependencias externas. Sin llamadas reales a DB o HTTP.
- Estructura: Usa AAA. Comenta siempre tus bloques Arrange, Act y Assert.
- Nomenclatura: Usa "should [behavior] when [condition]". Evita nombres vagos como "test 1".
- Cobertura: Prueba el camino feliz (happy path), entradas nulas, rutas de error y casos de borde (edge cases).
- Velocidad: Cada prueba debe ejecutarse en menos de 100ms.
Pasos de Implementación
- Configura tu librería y tus archivos de configuración.
- Crea tu carpeta
.cursor/rules/. - Añade un archivo
CLAUDE.mden la raíz de tu proyecto para que actúe como memoria permanente. - Establece umbrales de cobertura en tu pipeline de CI (apunta al 80% de líneas).
- Usa hooks de pre-commit para asegurar que ningún código sin probar entre al repositorio.
Deja de pedirle a la IA que escriba pruebas. Empieza a decirle a la IA cómo escribir pruebas.
Fuente: https://dev.to/bhaumik-viitor/unit-test-ai-guide-zero-hallucination-cross-stack-standard-4mb2
Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi