Générez des données JSON factices réalistes depuis un JSON Schema pour tests API, prototypage UI, load testing et développement piloté par contrat.
Étape 1 – Fournir un JSON Schema
- Collez un schéma dans l’éditeur de gauche, ou importez-le depuis fichier/URL/exemple.
- Quand c’est possible, partez du schéma réel de votre API pour rester proche de la prod.
Étape 2 – Rendre le schéma compatible mock
- Évitez des mots-clés non supportés comme
$ref, dependencies, et les schémas conditionnels (if/then/else). - Si votre schéma utilise
$ref, essayez d’ouvrir le Générateur de Mock depuis un outil qui précharge et dereference les schémas (par exemple “Générer des données mock” sur les pages code→schéma). - Concentrez-vous sur type, properties, required, items, formats et contraintes.
Étape 3 – Configurer les settings
- Choisissez une locale pour des noms, adresses et téléphones réalistes.
- Définissez une seed pour des données reproductibles (tests et snapshots).
- Ajustez batch size, array count, distributions numériques et probabilité d’optionnels.
- Utilisez la simulation de données manquantes/sales pour tester validation et UI.
Étape 4 – Générer et vérifier la sortie
- Cliquez sur “Générer des données mock” pour produire une sortie respectant les contraintes du schéma.
- Si certaines valeurs semblent incohérentes, resserrez le schéma (formats, enums, min/max) et régénérez.
Étape 5 – Utiliser les mocks dans tests et générateurs
- Copiez ou téléchargez le JSON et utilisez-le comme fixtures pour tests unitaires/intégration.
- Alimentez ce JSON dans des générateurs de code (TypeScript/Java/etc.) pour créer des DTOs alignés.
Note importante sur les fonctionnalités JSON Schema
- Les schémas qui s’appuient sur
$ref, dependencies, ou if/then/else doivent être simplifiés ou dereference avant la génération de mock. - Les validateurs n’interprètent pas tous les drafts et mots-clés de la même façon ; utilisez un validateur complet en CI pour des tests stricts.
Exemple : 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"
}