Echolot
Ligne de commande et CI

echolot fake

Produisez des données fictives à partir d’un modèle dans le terminal, pour des jeux de test, des données d’amorçage et des corps de mock, avec les mêmes valeurs fictives que les routes de mock.

echolot fake remplit un modèle avec des données fictives : noms, e-mails, adresses, prix, dates, lorem ipsum et environ 120 autres valeurs. Il utilise les mêmes modèles que les corps des routes faites à la main : vous pouvez ainsi essayer un corps, ou écrire des jeux de test et des données d’amorçage pour des tests.

echolot fake [<template>] [--file <file>] [--count <count>] [--seed <seed>] [--type <type>]
echolot fake list

Le modèle vient de l’argument, de --file ou de l’entrée standard. Le résultat va sur la sortie standard.

Produire une liste

--count fait du modèle un élément d’une liste JSON :

echolot fake '{"id": {{@number}}, "name": "{{$randomFullName}}", "email": "{{$randomEmail}}"}' --count 3
[
{"id": 1, "name": "Henry Adams", "email": "stella.meyer.45@yahoo.com"},
{"id": 2, "name": "Jack Grant", "email": "bianca.ivanova.11@icloud.com"},
{"id": 3, "name": "Theo Sato", "email": "samuel.lee.88@yahoo.com"}
]

Avec --type xml ou --type text, les éléments se suivent :

echolot fake '<city>{{$randomCity}}</city>' --count 2 --type xml
<city>Kyoto</city>
<city>Athens</city>

Un modèle peut produire ses propres listes avec {{#repeat 10}} … {{/repeat}} ; voir listes.

Les mêmes données de nouveau

--seed produit les mêmes données à chaque fois, pour des jeux de test qui ne doivent pas changer d’une exécution à l’autre :

echolot fake --file user.json.template --count 50 --seed 7 > users.json

Échappement

--type décide de la façon dont les valeurs sont échappées : json (par défaut) échappe les valeurs à l’intérieur de chaînes JSON, xml échappe &, <, > et les guillemets pour XML et HTML, text n’échappe rien. Voir échappement.

Les valeurs

echolot fake list affiche toutes les valeurs par groupe, avec leurs arguments :

COMMON
  $randomUUID  A random UUID: 3f2c1e0a-…
  $randomInt(Minimum, Maximum)  A whole number, 0 to 1000 unless bounds are given.
  $randomFloat(Minimum, Maximum, Decimals)  A decimal number between the bounds (0 to 1000), with 2 decimals unless told otherwise.
…

Les valeurs dynamiques les listent toutes. Les jetons qui concernent la requête, comme {{request.params.id}}, appartiennent aux routes de mock et restent tels quels ici.

Options

OptionSignification
<template>Le modèle, ou list pour lister les valeurs fictives.
-f, --file <file>Lire le modèle depuis un fichier.
-c, --count <count>Produire ce nombre d’éléments, jusqu’à 10 000 : une liste JSON, ou un élément après l’autre pour --type xml et text.
--seed <seed>Produire les mêmes données à chaque fois.
--type <type>json (par défaut), xml ou text.

Codes de sortie

0 quand chaque valeur a été produite. 1 quand une valeur n’a pas pu l’être, comme {{$randomInt(9, 1)}} : la raison va sur la sortie d’erreur, et le jeton reste tel quel dans la sortie. 64 pour une option erronée.

Sur cette page