Acerca de esta herramienta
Los tests data-driven son tan buenos como su tabla de datos, y las tablas escritas a mano suelen olvidarse de los límites. Define cada campo con un tipo (cadena, email, número, fecha, enum, booleano o teléfono) y sus restricciones (rango de longitud o de valores, obligatorio, valores permitidos), y este generador construye la tabla: una fila válida nominal y después filas que cambian exactamente un campo cada vez, en el mínimo y el máximo, un paso fuera de cada límite, ausente cuando es obligatorio y en formatos mal formados. Cada fila se etiqueta como “Accept” o “Reject” con un motivo como «age = 17 (por debajo del mínimo 18)», para que una fila que falla apunte a una única regla. Los valores son deterministas, sin datos aleatorios, así que las mismas definiciones producen siempre la misma tabla y los diffs en el control de versiones siguen siendo legibles.
Cómo usarla
- Añade un campo por cada entrada: nombre, tipo y restricciones. Deja mínimo o máximo vacío si no hay límite.
- En los enums, enumera los valores permitidos; en los números, elige si solo son válidos los enteros.
- Revisa la vista previa y fíltrala por filas válidas, límite o no válidas.
- Exporta como CSV para tests basados en hojas de cálculo o JSON para tests parametrizados en código.
Preguntas frecuentes: Generador de plantillas de datos de prueba
¿Cómo uso la salida en tests automatizados?
Carga el array JSON y parametriza un test sobre él: envía los datos de cada fila y comprueba un éxito cuando expected sea «Accept» y un error de validación cuando sea «Reject». El motivo sirve como nombre de test claro, por ejemplo con test.each en Vitest/Jest o @MethodSource en JUnit 5.
¿Cómo se representan los valores ausentes?
Como una celda vacía en CSV y como null en JSON. Si tu API distingue entre una clave ausente y un null explícito, añade un caso aparte para la clave omitida.
¿Por qué no usar datos aleatorios?
Los valores aleatorios hacen que los fallos sean difíciles de reproducir y las tablas difíciles de revisar. Las pruebas de límites necesitan valores exactos (el mínimo, uno por debajo), así que esta herramienta genera valores fijos. Usa el generador de datos de prueba cuando necesites registros aleatorios realistas.