Hasilkan data JSON palsu yang realistis dari JSON Schema untuk pengujian API, prototyping UI, load testing, dan pengembangan berbasis kontrak.
Langkah 1 – Sediakan JSON Schema
- Tempel schema ke editor kiri, atau impor dari file/URL/contoh.
- Mulailah dari schema API nyata jika memungkinkan agar data mock mendekati produksi.
Langkah 2 – Buat schema ramah untuk mock
- Hindari keyword yang tidak didukung seperti
$ref, dependencies, dan schema kondisional (if/then/else). - Jika schema Anda menggunakan
$ref, cobalah membuka Mock Generator dari alat yang memuat dan melakukan dereference schema (misalnya “Buat Data Mock” pada halaman code→schema). - Jaga schema tetap fokus pada type, properties, required, items, formats, dan constraints.
Langkah 3 – Konfigurasikan pengaturan pembuatan
- Pilih locale untuk nama, alamat, dan nomor telepon yang realistis.
- Atur seed agar data mock dapat direproduksi (bagus untuk tes dan snapshot).
- Sesuaikan ukuran batch, jumlah array, distribusi angka, dan probabilitas field opsional.
- Gunakan simulasi data hilang/kotor untuk menguji validasi dan penanganan error UI.
Langkah 4 – Buat dan tinjau output
- Klik “Buat Data Mock” untuk menghasilkan output yang mengikuti constraint schema Anda.
- Jika nilai terlihat tidak tepat, perketat schema (format, enum, min/max) lalu generate ulang.
Langkah 5 – Gunakan data mock dalam tes dan generator
- Salin atau unduh JSON dan gunakan sebagai fixtures untuk unit/integration test.
- Umpankan JSON yang dihasilkan ke code generator (TypeScript/Java/dll.) untuk membuat DTO yang cocok.
Catatan penting tentang fitur JSON Schema
- Schema yang mengandalkan
$ref, dependencies, atau if/then/else perlu disederhanakan atau di-dereference sebelum pembuatan mock. - Validator schema berbeda dalam interpretasi draft dan keyword; gunakan validator penuh di CI untuk contract testing yang ketat.
Contoh: JSON Schema → JSON mock
// 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"
}