Zum Inhalt springen

Werkzeuge

Eingängemin, max (Zahlen), seed
Ausgängeresult
opLiefert
intEine Ganzzahl zwischen min und max
floatEine Fließkommazahl
stringEine Zeichenkette aus length Zeichen
booleanEinen booleschen Wert
pickEin aus items gezogenes Element

Das Feld seed (eine Zahl oder eine Zeichenkette) macht die Ziehung deterministisch: So lassen sich vielfältige Daten bei gleichzeitig reproduzierbarem Test erzeugen. Das ist der wesentliche Unterschied zu den {{$random…}}-Helpern, die nie reproduzierbar sind.

Eingängevalue, schema (Zeichenkette)
Ausgängevalid, invalid, errors
Konfigurationschema — ein JSON Schema, in draft-07, 2019-09 oder 2020-12

Das Werkzeug der Wahl, um zu prüfen, dass eine Antwort ihrem Vertrag entspricht. Verbinden Sie errors mit einem Log: Die Ausgabe zeigt jede Verletzung im Detail, was einen CI-Fehlschlag direkt auswertbar macht.

HTTP-Anfrage ──response[body]──► Schema validate
├─ valid ──► (weiter)
├─ invalid ──► Throw
└─ errors ──► Log
Eingängepath (Zeichenkette)
Ausgängecontent (Zeichenkette)
Konfigurationpath — absolut, oder relativ zur geöffneten .restorm-Datei

Der relative Pfad ist das, was verwendet werden sollte, damit das Szenario zwischen Ihrem Rechner und der CI portabel bleibt.

Eingängepath (Zeichenkette), content
Ausgängekeine
Konfigurationpath, mode: replace (Standard) oder append
Eingängemessage (Zeichenkette), data
Ausgängekeine
Konfigurationlevel: debug, info, warn, error

Das ist der Baustein für Nachvollziehbarkeit. Seine Einträge sind die einzigen, die standardmäßig im Ausführungsprotokoll und in der Ausgabe der Kommandozeile erscheinen — die Engine-Einträge werden nur mit --all-logs hinzugefügt.

Anders gesagt: Was Sie mit Log schreiben, ist das, was Sie in den Artefakten Ihrer CI wiederfinden.

Eingängea (beobachteter Wert), b (erwarteter Wert), message (Zeichenkette)
Ausgängethen (Erfolg), else (Fehlschlag)
Konfigurationoperator, a, b, message

Verfügbare Operatoren:

eq · ne · lt · lte · gt · gte · contains · isString · isNumber · isBoolean · isArray · isObject · isNull · exists · isEmpty · matchesRegex · isOneOf · deepEquals · lengthEq · lengthGt · lengthLt

Das Feld message ist es, was den Fehlschlag im Protokoll verständlich macht: Schreiben Sie hinein, was erwartet wurde, nicht „Fehler“.

Eingängemessage (Zeichenkette)
Ausgängekeine — dieser Baustein hat keinen done-Port
Konfigurationmessage

Lässt die Ausführung absichtlich fehlschlagen. Das ist es, was in der CI einen Exit-Code 1 ergibt: Verbinden Sie ihn mit dem Ausgang else Ihrer kritischen Assertions oder mit invalid einer Schemavalidierung.