Criar dados de teste com template e seed

Escreva um campo e seu gerador por linha, escolha a quantidade e selecione JSON ou CSV. Reutilize o mesmo template e seed para reproduzir os dados de teste.

Funciona localmente no seu navegador
Modelo de dados

Um campo por linha: fieldName: generator. Use uma semente quando precisar gerar o mesmo exemplo novamente.

Geradores compatíveis

fullName, email, uuid, url, word, sentence(8), isoDate, boolean, integer(1,99), decimal(0,1), enum(red,blue), e array(word,3).

Uma semente torna o resultado repetível; deixe em branco para usar uma semente única do navegador. Este gerador foi feito para fixtures, demos e dados de teste, não para identidades reais.

Dados gerados
Generate fixtures to preview JSON or CSV here.

Os downloads são criados por um Blob local do navegador. Nenhum conteúdo de fixture é enviado ao VoriTools.

Dados de teste úteis sem uma chamada de API

Use o resultado para estados de interface, exemplos de API, testes de contrato ou uma importação rápida em JSON → Código. Não use nomes, e-mails ou tokens reais em dados de teste.

Como montar um arquivo de dados de teste

Um campo por linha, escrito como fieldName: generator. A página transforma essa lista em registros — JSON para um exemplo de API ou corpo de requisição, CSV para uma planilha ou importação de banco — e aponta a linha errada em vez de devolver um arquivo pela metade.

Uma seed fixa toda a sequência de valores: mesmo template, mesma seed e mesma quantidade de registros geram um arquivo idêntico byte a byte, e aumentar a quantidade depois deixa intactos os registros que você já colou nos testes.

  1. Liste os campos necessários, um por linha: id: uuid, name: fullName, plan: enum(free,team,enterprise). Linhas que começam com # são ignoradas.
  2. Defina Records entre 1 e 5.000 e informe uma seed quando o arquivo precisar ser reproduzível. Com a seed vazia, cada execução traz dados diferentes.
  3. Clique em Generate fixtures. Acima da saída aparece quantos registros e campos foram gerados; um gerador inválido é apontado na linha de status e o resultado anterior é descartado.
  4. Alterne Output entre JSON e CSV para reformatar os registros que já estão na tela e leve-os com Copy output ou Download file (kivtools-mock-data.json ou .csv).

O que cada gerador devolve — e onde ele para

Treze geradores e as regras dentro dos parênteses

O template aceita treze geradores: fullName, email, uuid, url, word, sentence, isoDate, boolean, integer, decimal, enum, array e ip. Os nomes não diferenciam maiúsculas de minúsculas, e os parênteses são opcionais quando o gerador não recebe argumentos: uuid() e uuid são a mesma chamada.

As regras ficam nos parênteses. integer() vai de 0 a 100 por padrão e recusa um máximo menor que o mínimo; decimal() faz o mesmo, mas arredonda cada valor para duas casas, então decimal(0,0.01) só pode devolver 0 ou 0.01. sentence() gera 8 palavras por padrão e limita o argumento a 1–40. array(gerador,quantidade) exige exatamente dois argumentos e produz no máximo 100 itens. enum() precisa de pelo menos uma opção não vazia e, como as opções são separadas por vírgulas, uma opção não pode conter vírgula.

O que a seed fixa — e o que quebra isso

A seed é convertida no fluxo aleatório, então a mesma seed repete sempre os mesmos valores: oito registros gerados hoje e oito gerados amanhã são iguais caractere por caractere. Com a seed vazia, a página mistura o relógio com Math.random — certo para uma demonstração pontual, errado para um arquivo que um teste compara.

Dois detalhes decidem se o arquivo continua estável. A ordem dos campos faz parte do fluxo: mover um campo ou inseri-lo no meio muda todos os valores seguintes, então acrescente os campos novos no fim. A quantidade de registros não faz parte: cinco agora e cinquenta depois, com a mesma seed, deixam os cinco primeiros intactos.

Pessoas e endereços falsos, e por onde os dados passam

email e url usam apenas os domínios reservados example.test, demo.invalid e fixture.local, então um endereço gerado não pode ser entregue; ip mantém o primeiro octeto em 223 ou menos e nunca termina em 0 ou 255, dentro da faixa que um parser aceita como endereço de host unicast.

O template, a seed e os registros ficam na aba: uma execução com uma marca no template e na seed não envia nenhuma requisição que a contenha, e o único tráfego de saída da página é o beacon de analytics do próprio site, que nunca vê o arquivo. Os valores continuam sendo placeholders — identidades de produção e dados reais de clientes pertencem aos seus próprios sistemas.

Saída JSON, saída CSV e tamanho do arquivo

O JSON é um array formatado com dois espaços de indentação, pronto para colar no corpo de uma requisição ou em um módulo de testes. O CSV começa com uma linha de cabeçalho com os nomes dos campos e coloca todas as células entre aspas; um campo array() é gravado como JSON dentro da célula, com as aspas duplicadas como exige a RFC 4180.

Trocar Output reformata as linhas que já estão na tela em vez de gerar novas, então o JSON que você estava lendo vira o CSV correspondente com valores idênticos. O volume não é problema: 5.000 registros de cinco campos levam cerca de 0,2 segundo e ocupam quase um megabyte, e o download é criado a partir de um Blob local chamado kivtools-mock-data.json ou kivtools-mock-data.csv.

Ferramentas recentes: