Utilitaires
Aléatoire
Section titled “Aléatoire”| Entrées | min, max (nombres), seed |
| Sorties | result |
op | Renvoie |
|---|---|
int | Un entier entre min et max |
float | Un flottant |
string | Une chaîne de length caractères |
boolean | Un booléen |
pick | Un élément tiré de items |
Le champ seed (un nombre ou une chaîne) rend le tirage déterministe :
c’est ce qui permet d’avoir des données variées mais un test reproductible.
C’est la différence essentielle avec les helpers {{$random…}}, qui ne sont
jamais reproductibles.
Validation schéma
Section titled “Validation schéma”| Entrées | value, schema (chaîne) |
| Sorties | valid, invalid, errors |
| Configuration | schema — un JSON Schema, en draft-07, 2019-09 ou 2020-12 |
L’outil de choix pour vérifier qu’une réponse respecte son contrat. Branchez
errors sur un Log : la sortie détaille chaque violation, ce qui rend
un échec de CI directement exploitable.
Requête HTTP ──response[body]──► Validation schéma ├─ valid ──► (suite) ├─ invalid ──► Throw └─ errors ──► LogLire fichier
Section titled “Lire fichier”| Entrées | path (chaîne) |
| Sorties | content (chaîne) |
| Configuration | path — absolu, ou relatif au fichier .restorm ouvert |
Le chemin relatif est ce qu’il faut utiliser pour que le scénario reste portable entre votre machine et la CI.
Écrire fichier
Section titled “Écrire fichier”| Entrées | path (chaîne), content |
| Sorties | aucune |
| Configuration | path, mode : replace (défaut) ou append |
Log (journal)
Section titled “Log (journal)”| Entrées | message (chaîne), data |
| Sorties | aucune |
| Configuration | level : debug, info, warn, error |
C’est la boîte de traçabilité. Ses entrées sont les seules affichées par
défaut dans le journal d’exécution et sur la sortie de la
ligne de commande — les entrées du
moteur ne s’ajoutent qu’avec --all-logs.
Autrement dit : ce que vous écrivez avec Log est ce que vous retrouverez dans les artefacts de votre CI.
Assert (assertion)
Section titled “Assert (assertion)”| Entrées | a (valeur observée), b (valeur attendue), message (chaîne) |
| Sorties | then (réussite), else (échec) |
| Configuration | operator, a, b, message |
Opérateurs disponibles :
eq · ne · lt · lte · gt · gte · contains · isString ·
isNumber · isBoolean · isArray · isObject · isNull · exists ·
isEmpty · matchesRegex · isOneOf · deepEquals · lengthEq ·
lengthGt · lengthLt
Le champ message est ce qui rendra l’échec compréhensible dans le journal :
écrivez-y ce qu’on attendait, pas « erreur ».
Throw (lever une erreur)
Section titled “Throw (lever une erreur)”| Entrées | message (chaîne) |
| Sorties | aucune — cette boîte n’a pas de port done |
| Configuration | message |
Fait échouer l’exécution délibérément. C’est ce qui donne un code de sortie 1 en
CI : branchez-la sur la sortie else de vos assertions critiques ou sur
invalid d’une validation de schéma.