Genera JSON falso realista desde un JSON Schema para pruebas de API, prototipos de UI, load testing y desarrollo guiado por contratos.
Paso 1 – Proporciona un JSON Schema
- Pega un schema en el editor izquierdo o impórtalo desde un archivo/URL/muestra.
- Cuando sea posible, parte del schema real de tu API para mantener los mocks cerca de producción.
Paso 2 – Haz el schema compatible con mock
- Evita keywords no compatibles como
$ref, dependencies, y esquemas condicionales (if/then/else). - Si tu schema usa
$ref, prueba a abrir el Generador de mock desde una herramienta que precarga y hace dereference de schemas (por ejemplo “Generar datos mock” en páginas de código→schema). - Mantén el schema centrado en type, properties, required, items, formats y restricciones.
Paso 3 – Configura settings de generación
- Elige un locale para nombres, direcciones y teléfonos realistas.
- Configura una seed para datos reproducibles (ideal para tests y snapshots).
- Ajusta batch size, array count, distribuciones numéricas y probabilidad de campos opcionales.
- Usa la simulación de datos faltantes/sucios para probar validación y manejo de errores de UI.
Paso 4 – Genera y revisa la salida
- Haz clic en “Generar datos mock” para producir una salida que respete las restricciones del schema.
- Si los valores no se ven bien, ajusta el schema (formats, enums, min/max) y regenera.
Paso 5 – Usa datos mock en tests y generadores
- Copia o descarga el JSON y úsalo como fixtures para tests unitarios/integración.
- Alimenta el JSON generado a generadores de código (TypeScript/Java/etc.) para crear DTOs compatibles.
Nota importante sobre funciones de JSON Schema
- Los schemas que dependen de
$ref, dependencies, o if/then/else deben simplificarse o hacerse dereference antes de generar datos mock. - Los validadores difieren en cómo interpretan drafts y keywords; para pruebas estrictas, usa un validador completo en CI.
Ejemplo: JSON Schema → mock JSON
// JSON Schema (input)
{
"type": "object",
"properties": {
"id": { "type": "string", "format": "uuid" },
"email": { "type": "string", "format": "email" },
"active": { "type": "boolean" },
"createdAt": { "type": "string", "format": "date-time" }
},
"required": ["id", "email", "active", "createdAt"]
}
// Mock JSON (output example)
{
"id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"email": "[email protected]",
"active": true,
"createdAt": "2024-03-01T10:15:00.000Z"
}