Programación

Prompt para crear tests unitarios útiles a partir de código existente

Diseña tests unitarios con casos positivos, negativos y borde sin modificar la lógica original del código.

Generar tests no consiste en cubrir líneas al azar. Este prompt pide entender comportamiento esperado, dependencias, casos borde y riesgos antes de proponer pruebas.

Prompt completo listo para copiar
Actúa como análisis de datos y desarrollador especializado en pruebas unitarias. Necesito diseñar tests que validen comportamiento real sin cambiar la lógica original.

Contexto técnico:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Enfoque:
1. Resume qué hace el código y qué responsabilidades tiene.
2. Identifica entradas, salidas, dependencias y efectos secundarios.
3. Propón casos felices, casos borde, casos negativos y errores esperados.
4. Señala qué dependencias conviene mockear o aislar.
5. No cambies la lógica del código salvo que detectes un bug y lo expliques aparte.
6. Prioriza tests legibles y mantenibles sobre cobertura superficial.

Entrega:
- estrategia de pruebas.
- lista de casos de test con nombre y propósito.
- código de ejemplo para los tests si hay suficiente contexto.
- datos de prueba recomendados.
- riesgos o casos que faltan por conocer.
- sugerencias para integrar estos tests en el flujo de trabajo.

Control final:
Cada test propuesto debe fallar si el comportamiento esperado se rompe.

Antes de responder:
- Si falta un dato crítico, haz hasta 3 preguntas de aclaración.
- Si puedes avanzar con supuestos razonables, declara esos supuestos y continúa.
- No inventes datos, cifras, políticas, experiencia, fuentes ni resultados.
- Prioriza una respuesta útil, verificable y fácil de aplicar.

Personaliza el prompt

Completa los campos con datos genéricos o propios de tu caso. Si dejas un campo vacío, se usará el ejemplo seguro del campo para que el prompt no se rompa.

lenguaje o framework utilizado
función, clase o módulo a probar
reglas que debe cumplir
escenarios que ya quieres cubrir
límites del entorno

Evita incluir datos sensibles y revisa siempre el resultado antes de aplicarlo en una situación importante.

Versiones alternativas del prompt

Usa la versión corta para una respuesta rápida y la avanzada cuando necesites más control, criterios de calidad y revisión final.

Versión corta del prompt
Necesito crear tests unitarios con IA a partir de una función, clase o módulo de código.

Datos que debes usar:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Entrega una respuesta breve, accionable y lista para revisar.
Mantén el tono adecuado al contexto, no inventes datos y señala cualquier información crítica que falte antes de aplicar el resultado.
Versión avanzada del prompt
Actúa como análisis de datos y desarrollador especializado en pruebas unitarias. Necesito diseñar tests que validen comportamiento real sin cambiar la lógica original.

Contexto técnico:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Enfoque:
1. Resume qué hace el código y qué responsabilidades tiene.
2. Identifica entradas, salidas, dependencias y efectos secundarios.
3. Propón casos felices, casos borde, casos negativos y errores esperados.
4. Señala qué dependencias conviene mockear o aislar.
5. No cambies la lógica del código salvo que detectes un bug y lo expliques aparte.
6. Prioriza tests legibles y mantenibles sobre cobertura superficial.

Entrega:
- estrategia de pruebas.
- lista de casos de test con nombre y propósito.
- código de ejemplo para los tests si hay suficiente contexto.
- datos de prueba recomendados.
- riesgos o casos que faltan por conocer.
- sugerencias para integrar estos tests en el flujo de trabajo.

Control final:
Cada test propuesto debe fallar si el comportamiento esperado se rompe.

Antes de responder:
- Si falta un dato crítico, haz hasta 3 preguntas de aclaración.
- Si puedes avanzar con supuestos razonables, declara esos supuestos y continúa.
- No inventes datos, cifras, políticas, experiencia, fuentes ni resultados.
- Prioriza una respuesta útil, verificable y fácil de aplicar.

Modo avanzado:
1. Antes de redactar, separa datos confirmados, supuestos razonables y datos que faltan.
2. Adapta la respuesta al objetivo concreto: crear tests unitarios con IA a partir de una función, clase o módulo de código.
3. Explica el criterio que usaste para priorizar estructura, tono, profundidad y formato.
4. Entrega una versión principal y, cuando sea útil, una versión alternativa más breve o más práctica.
5. Añade una tabla de revisión con: decisión tomada, motivo, riesgo y cómo comprobarlo.
6. Incluye errores comunes específicos de esta tarea y cómo evitarlos.
7. Si detectas información insuficiente, haz hasta 3 preguntas; si puedes avanzar, declara los supuestos y continúa.
8. No inventes datos, cifras, fuentes, políticas, experiencia, funcionalidades ni resultados no aportados.
9. Usa únicamente la información proporcionada por estas variables: JavaScript con Jest, función que calcula descuentos por tipo de cliente, aplicar descuento solo si el usuario es elegible, cliente nuevo, cliente premium, importe cero, no usar dependencias externas.

Formato avanzado de entrega:
- resumen ejecutivo del enfoque.
- resultado principal listo para usar.
- versión alternativa o simplificada.
- tabla de decisiones y riesgos.
- puntos que conviene verificar manualmente.
- checklist final antes de aplicar el resultado.

Adaptaciones para ChatGPT, Claude y Gemini

Estas variantes mantienen las mismas variables, pero ajustan la instrucción para aprovechar mejor el estilo de cada herramienta.

Adaptación para ChatGPT
Usa ChatGPT para convertir estos datos en una respuesta estructurada, clara y lista para revisar.

Objetivo: crear tests unitarios con IA a partir de una función, clase o módulo de código.

Datos disponibles:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Instrucciones:
1. Mantén la respuesta fiel a la información aportada.
2. No inventes datos, cifras, experiencia, políticas ni resultados.
3. Usa un formato claro y aplicable al caso.
4. Señala dudas o datos insuficientes antes de presentar conclusiones.
5. Pide una salida por secciones, una versión breve y una lista final de puntos a comprobar.

Entrega el resultado final listo para copiar o adaptar.
Adaptación para Claude
Usa Claude para trabajar el contexto con especial atención a matices, límites y coherencia editorial.

Objetivo: crear tests unitarios con IA a partir de una función, clase o módulo de código.

Datos disponibles:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Instrucciones:
1. Mantén la respuesta fiel a la información aportada.
2. No inventes datos, cifras, experiencia, políticas ni resultados.
3. Usa un formato claro y aplicable al caso.
4. Señala dudas o datos insuficientes antes de presentar conclusiones.
5. Pide que diferencie hechos aportados, supuestos razonables y datos que faltan antes de redactar.

Entrega el resultado final listo para copiar o adaptar.
Adaptación para Gemini
Usa Gemini para organizar la respuesta, comparar opciones y mantener una estructura fácil de seguir.

Objetivo: crear tests unitarios con IA a partir de una función, clase o módulo de código.

Datos disponibles:
- lenguaje: JavaScript con Jest
- código: función que calcula descuentos por tipo de cliente
- comportamiento esperado: aplicar descuento solo si el usuario es elegible
- casos conocidos: cliente nuevo, cliente premium, importe cero
- restricciones técnicas: no usar dependencias externas

Instrucciones:
1. Mantén la respuesta fiel a la información aportada.
2. No inventes datos, cifras, experiencia, políticas ni resultados.
3. Usa un formato claro y aplicable al caso.
4. Señala dudas o datos insuficientes antes de presentar conclusiones.
5. Pide que marque elementos que deban verificarse manualmente si dependen de información externa o cambiante.

Entrega el resultado final listo para copiar o adaptar.

Para qué sirve este prompt

  • Funciones o clases con lógica de negocio.
  • Bugs que quieres cubrir para que no vuelvan.
  • Código legacy donde necesitas pruebas antes de refactorizar.
Ejemplo genérico de entrada

Caso de uso

Código: función JavaScript que calcula descuentos por tipo de cliente, importe y cupón. Restricción: Jest, sin dependencias externas.

Resultado esperado

Qué deberías obtener

Deberías recibir una batería de tests con casos felices, negativos y borde, nombres descriptivos, datos de prueba, supuestos explícitos y explicación de qué comportamiento cubre cada test.

Cómo usarlo paso a paso

  1. Pega la función completa y el framework de pruebas que usas.
  2. Aclara reglas de negocio que no se ven en el código.
  3. Ejecuta los tests y vuelve a pegar errores si fallan.

Consejos de uso

  • Para ChatGPT, pide primero la lista de casos antes del código.
  • Para Claude, funciona muy bien con módulos largos.
  • Para Gemini, revisa imports y sintaxis del framework.

Errores comunes

  • Pedir tests sin explicar comportamiento esperado.
  • Aceptar tests que prueban detalles internos frágiles.
  • No incluir casos de error o entradas inválidas.

Checklist antes de usar el resultado

  • Los tests cubren comportamiento, no implementación accidental.
  • Incluye casos borde y negativos.
  • Explica qué no se puede testear con el contexto dado.

Cómo adaptarlo mejor

  • Indica framework de pruebas de software y versión si importa.
  • Aclara dependencias externas que deben mockearse.
  • Pide nombres de tests descriptivos para mejorar mantenimiento.

Búsquedas relacionadas

prompt tests unitarioscrear unit tests ChatGPTIA para pruebas de códigotest unitario JavaScript Python Javaprompt pruebas unitarias

Prompts relacionados

Preguntas frecuentes

¿Puede crear tests para cualquier lenguaje?

Puede ayudar en muchos lenguajes, pero debes indicar framework, dependencias y comportamiento esperado.

¿Conviene pegar todo el archivo?

Mejor pega la unidad que quieres probar y el contexto mínimo necesario.