Utilità
Casuale
Section titled “Casuale”| Input | min, max (numeri), seed |
| Output | result |
op | Restituisce |
|---|---|
int | Un intero compreso tra min e max |
float | Un numero a virgola mobile |
string | Una stringa di length caratteri |
boolean | Un booleano |
pick | Un elemento estratto da items |
Il campo seed (un numero o una stringa) rende l’estrazione
deterministica: è ciò che permette di avere dati variati ma un test
riproducibile. È la differenza essenziale rispetto agli helper {{$random…}},
che non sono mai riproducibili.
Validazione dello schema
Section titled “Validazione dello schema”| Input | value, schema (stringa) |
| Output | valid, invalid, errors |
| Configurazione | schema — un JSON Schema, in draft-07, 2019-09 o 2020-12 |
Lo strumento d’elezione per verificare che una risposta rispetti il proprio
contratto. Collegando errors a un Log, l’output dettaglia ogni violazione,
cosa che rende un fallimento di CI direttamente utilizzabile.
Richiesta HTTP ──response[body]──► Validazione dello schema ├─ valid ──► (seguito) ├─ invalid ──► Throw └─ errors ──► LogLeggi file
Section titled “Leggi file”| Input | path (stringa) |
| Output | content (stringa) |
| Configurazione | path — assoluto, oppure relativo al file .restorm aperto |
Il percorso relativo è quello da usare perché lo scenario resti portabile tra la propria macchina e la CI.
Scrivi file
Section titled “Scrivi file”| Input | path (stringa), content |
| Output | nessuno |
| Configurazione | path, mode: replace (predefinito) oppure append |
Log (registro)
Section titled “Log (registro)”| Input | message (stringa), data |
| Output | nessuno |
| Configurazione | level: debug, info, warn, error |
È il riquadro della tracciabilità. Le sue voci sono le sole mostrate per
impostazione predefinita nel log di esecuzione e sull’output della
riga di comando — le voci del
motore si aggiungono soltanto con --all-logs.
In altre parole: ciò che si scrive con Log è ciò che si ritroverà negli artefatti della propria CI.
Assert (asserzione)
Section titled “Assert (asserzione)”| Input | a (valore osservato), b (valore atteso), message (stringa) |
| Output | then (successo), else (fallimento) |
| Configurazione | operator, a, b, message |
Operatori disponibili:
eq · ne · lt · lte · gt · gte · contains · isString ·
isNumber · isBoolean · isArray · isObject · isNull · exists ·
isEmpty · matchesRegex · isOneOf · deepEquals · lengthEq ·
lengthGt · lengthLt
Il campo message è ciò che renderà comprensibile il fallimento nel log:
conviene scrivervi che cosa si attendeva, non «errore».
Throw (solleva un errore)
Section titled “Throw (solleva un errore)”| Input | message (stringa) |
| Output | nessuno — questo riquadro non ha porta done |
| Configurazione | message |
Fa fallire l’esecuzione deliberatamente. È ciò che dà un codice di uscita 1 in
CI: va collegato all’uscita else delle asserzioni critiche oppure a
invalid di una validazione di schema.