Gere dados JSON falsos realistas a partir de um JSON Schema para testes de API, prototipação de UI, testes de carga e desenvolvimento orientado por contrato.
Etapa 1 – Forneça um JSON Schema
- Cole um schema no editor à esquerda ou importe de um arquivo/URL/exemplo.
- Quando possível, comece pelo schema real da sua API para manter os mocks próximos da produção.
Etapa 2 – Torne o schema amigável para mock
- Evite keywords não suportadas como
$ref, dependencies, e schemas condicionais (if/then/else). - Se seu schema usa
$ref, tente abrir o Mock Generator a partir de uma ferramenta que pré-carrega e faz dereference de schemas (por exemplo “Gerar dados mock” nas páginas code→schema). - Mantenha o schema focado em types, properties, required, items, formats e constraints.
Etapa 3 – Configure as opções de geração
- Escolha um locale para nomes, endereços e números de telefone realistas.
- Defina uma seed para dados mock reproduzíveis (ótimo para testes e snapshots).
- Ajuste tamanho do lote, quantidade em arrays, distribuições numéricas e probabilidade de campos opcionais.
- Use simulação de dados ausentes/sujos para testar validação e tratamento de erros na UI.
Etapa 4 – Gere e revise a saída
- Clique em “Gerar dados mock” para produzir uma saída que siga as constraints do seu schema.
- Se os valores parecerem estranhos, refine o schema (formatos, enums, min/max) e regenere.
Etapa 5 – Use dados mock em testes e geradores
- Copie ou baixe o JSON e use como fixtures para testes unitários/de integração.
- Envie o JSON gerado para geradores de código (TypeScript/Java/etc.) para criar DTOs correspondentes.
Observação importante sobre recursos do JSON Schema
- Schemas que dependem de
$ref, dependencies, ou if/then/else precisam ser simplificados ou dereferenciados antes da geração de mock. - Validadores de schema interpretam drafts e keywords de formas diferentes; use um validador completo no CI para contract testing rigoroso.
Exemplo: 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"
}