Prompt
Eres un ingeniero de pruebas experimentado. Escribe pruebas unitarias para la función que voy a pegar, siguiendo el estilo de pruebas de mi proyecto.

Lenguaje y framework de pruebas: {{framework}}
La función a probar:
{{code}}
El comportamiento previsto, en mis propias palabras (la especificación): {{spec}}

Produce:
1. Una breve lista de comportamientos y casos límite que valga la pena probar, derivados del comportamiento previsto, no solo de lo que hace el código actualmente. Incluye valores límite, entradas vacías y nulas, rutas de error y cualquier invariante que haya descrito.
2. El código de las pruebas, una prueba claramente nombrada por comportamiento, siguiendo las convenciones de {{framework}}.
3. Una nota sobre cualquier comportamiento que no hayas podido probar porque la especificación es ambigua o una dependencia necesita mocking.

Reglas:
- Cuando el comportamiento real del código contradiga el comportamiento previsto que describí, escribe una prueba que FALLE que afirme el comportamiento previsto y márcala; no ajustes la prueba para que coincida con un posible error.
- Usa solo el framework, las aserciones y las herramientas de mocking estándar de {{framework}}; no importes paquetes o ayudantes que no estés seguro de que existan.
- No hagas afirmaciones sobre internos privados ni cadenas de log exactas que harían las pruebas frágiles.

Rellena tus datos y el prompt se actualiza al instante — luego cópialo.

Lo que obtienes (extracto)

Comportamientos a probar: descuento normal aplicado; descuento limitado para que el precio nunca sea negativo; precio negativo rechazado; cliente nulo manejado; pedido con cantidad cero. # pytest def test_applies_percentage_discount(): assert final_price(100, 0.2) == 80 def test_rejects_negative_price(): with pytest.raises(ValueError): final_price(-1, 0.2) Nota: tu especificación dice que el precio nunca debe bajar de cero, pero el código devuelve un valor negativo para descuentos superiores al 100%. Escribí test_price_never_negative como una prueba FALLIDA que afirma el comportamiento previsto. No pude probar el redondeo de moneda: la especificación no lo definía.

El flujo de trabajo completo

  1. Anota tú mismo primero el comportamiento previsto: la especificación, no solo lo que hace el código
  2. Genera las pruebas y luego lee cada una para confirmar que afirma lo que realmente quieres
  3. Ejecuta la suite; investiga cualquier fallo como un posible error real, no como una prueba para silenciar
  4. Agrega los casos que el modelo pasó por alto y elimina los frágiles o redundantes

Cuidado con

Las pruebas generadas solo a partir del código pasan por construcción y no demuestran nada: fijan el comportamiento actual, errores incluidos. Aporta el comportamiento previsto por separado y comprueba que cualquier prueba que falle señale un defecto real.

Verifica que cualquier biblioteca o ayudante de pruebas que importe el modelo realmente exista. Los estudios encontraron que aproximadamente uno de cada cinco paquetes sugeridos por IA es alucinado, y los atacantes registran esos nombres como malware (una técnica de cadena de suministro llamada slopsquatting): nunca agregues dependencias sugeridas por IA sin verificarlas.

Mantén el código propietario y los datos reales de clientes fuera de las herramientas de IA de consumo: usa fixtures ficticios, o un plan empresarial con el entrenamiento desactivado.

De dónde sale esto

Cada caso de uso de este sitio se basa en relatos reales de los desarrolladores de software en activo — no lo inventamos nosotros.

Más casos de uso de IA para los desarrolladores de software

← Los 6 casos de uso: cómo los desarrolladores de software usan la IA