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

  1. Configura tu librería y tus archivos de configuración.
  2. Crea tu carpeta .cursor/rules/.
  3. Añade un archivo CLAUDE.md en la raíz de tu proyecto para que actúe como memoria permanente.
  4. Establece umbrales de cobertura en tu pipeline de CI (apunta al 80% de líneas).
  5. 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