Salta ai contenuti

Utilità

Inputmin, max (numeri), seed
Outputresult
opRestituisce
intUn intero compreso tra min e max
floatUn numero a virgola mobile
stringUna stringa di length caratteri
booleanUn booleano
pickUn 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.

Inputvalue, schema (stringa)
Outputvalid, invalid, errors
Configurazioneschema — 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 ──► Log
Inputpath (stringa)
Outputcontent (stringa)
Configurazionepath — 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.

Inputpath (stringa), content
Outputnessuno
Configurazionepath, mode: replace (predefinito) oppure append
Inputmessage (stringa), data
Outputnessuno
Configurazionelevel: 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.

Inputa (valore osservato), b (valore atteso), message (stringa)
Outputthen (successo), else (fallimento)
Configurazioneoperator, 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».

Inputmessage (stringa)
Outputnessuno — questo riquadro non ha porta done
Configurazionemessage

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.