Skip to content
NeuralSkills
Pruebas

Generador de Casos de Prueba

Genera casos de prueba completos a partir de firmas de funcion — happy path, casos borde y errores.

Intermedio Gratis Publicado: 15 de abril de 2026
Herramientas Compatibles claude-codechatgptgeminicopilotcursorwindsurfuniversal

El Problema

Escribir tests es la parte que los desarrolladores mas se saltan — no porque sea dificil, sino porque pensar en todos los escenarios es mentalmente agotador. Happy path? Facil. Pero que hay de inputs vacios, valores limite, acceso concurrente, strings Unicode, numeros negativos y casos borde de zona horaria? La IA puede generar una suite de tests completa en segundos pensando sistematicamente en cada categoria de input.

El Prompt

Genera casos de prueba completos para la siguiente funcion. Necesito tests de calidad produccion que pueda ejecutar inmediatamente.

FUNCION:
[pega tu funcion o metodo de clase aqui]

FRAMEWORK DE TESTING: [ej. Jest, Vitest, pytest, Go testing, JUnit]
LENGUAJE: [ej. TypeScript, Python, Go, Java]

Genera tests cubriendo:

1. **Happy Path** — Inputs y outputs normales esperados (3-5 casos)
2. **Casos Borde** — Valores limite, inputs vacios, colecciones de un elemento, valores maximos
3. **Casos de Error** — Inputs invalidos, null/undefined, tipos incorrectos, valores fuera de rango
4. **Caracteres Especiales** — Unicode, emojis, entidades HTML, metacaracteres SQL
5. **Comportamiento Asincrono** (si aplica) — Race conditions, timeouts, promesas rechazadas
6. **Logica de Negocio** — Reglas especificas del dominio que podrian romperse silenciosamente

Para cada test:
- Usar nombres descriptivos que expliquen el escenario ("debe retornar array vacio cuando input es null")
- Incluir estructura arrange, act, assert
- Agregar comentarios inline explicando POR QUE cada caso borde importa

Genera el archivo de tests completo listo para guardar y ejecutar.

Ejemplo de Salida

describe('calculateDiscount', () => {
  // Happy path
  it('debe aplicar 10% de descuento para ordenes mayores a $100', () => {
    expect(calculateDiscount(150, 'AHORRA10')).toBe(135);
  });

  // Caso borde: limite exacto
  it('debe aplicar descuento cuando la orden iguala el umbral minimo exactamente', () => {
    expect(calculateDiscount(100, 'AHORRA10')).toBe(90);
  });

  // Caso de error: precio negativo
  it('debe lanzar RangeError para montos de orden negativos', () => {
    expect(() => calculateDiscount(-50, 'AHORRA10')).toThrow(RangeError);
  });

  // Logica de negocio: cupon expirado
  it('debe retornar precio completo para codigos de cupon expirados', () => {
    expect(calculateDiscount(200, 'EXPIRADO2024')).toBe(200);
  });
});

Cuando Usar

Usar al escribir una nueva funcion o al refactorizar una existente. Especialmente valioso cuando necesitas alcanzar un umbral de cobertura, al probar logica de negocio compleja con muchas condiciones, o al escribir tests para codigo que no escribiste. Pega la funcion y obtendras un archivo de tests completo de un solo golpe.

Tips Pro

  • Incluir los tipos/interfaces — pega los tipos TypeScript o data classes relacionados junto a la funcion para que la IA entienda el contrato completo.
  • Pedir tests a prueba de mutaciones — agregar “Asegurate de que estos tests fallen si cualquier linea de la funcion original fuera eliminada o cambiada” para atrapar assertions debiles.
  • Generar primero una matriz de cobertura — pedir “Antes de escribir codigo, lista cada escenario de prueba en una tabla con input, output esperado y categoria” para revisar el plan antes de generar.