Werkzeuge
Random
Section titled “Random”| Eingänge | min, max (Zahlen), seed |
| Ausgänge | result |
op | Liefert |
|---|---|
int | Eine Ganzzahl zwischen min und max |
float | Eine Fließkommazahl |
string | Eine Zeichenkette aus length Zeichen |
boolean | Einen booleschen Wert |
pick | Ein 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.
Schema validate
Section titled “Schema validate”| Eingänge | value, schema (Zeichenkette) |
| Ausgänge | valid, invalid, errors |
| Konfiguration | schema — 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 ──► LogRead file
Section titled “Read file”| Eingänge | path (Zeichenkette) |
| Ausgänge | content (Zeichenkette) |
| Konfiguration | path — 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.
Write file
Section titled “Write file”| Eingänge | path (Zeichenkette), content |
| Ausgänge | keine |
| Konfiguration | path, mode: replace (Standard) oder append |
Log (Protokoll)
Section titled “Log (Protokoll)”| Eingänge | message (Zeichenkette), data |
| Ausgänge | keine |
| Konfiguration | level: 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.
Assert (Assertion)
Section titled “Assert (Assertion)”| Eingänge | a (beobachteter Wert), b (erwarteter Wert), message (Zeichenkette) |
| Ausgänge | then (Erfolg), else (Fehlschlag) |
| Konfiguration | operator, 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“.
Throw (Fehler auslösen)
Section titled “Throw (Fehler auslösen)”| Eingänge | message (Zeichenkette) |
| Ausgänge | keine — dieser Baustein hat keinen done-Port |
| Konfiguration | message |
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.