Pomocné akce
Náhodné
Section titled “Náhodné”| Vstupy | min, max (čísla), seed |
| Výstupy | result |
op | Vrací |
|---|---|
int | Celé číslo mezi min a max |
float | Desetinné číslo |
string | Řetězec o length znacích |
boolean | Logickou hodnotu |
pick | Prvek vylosovaný z items |
Pole seed (číslo nebo řetězec) činí losování deterministickým: právě
to umožňuje mít rozmanitá data, a přesto reprodukovatelný test. To je zásadní
rozdíl oproti helperům {{$random…}}, které reprodukovatelné nikdy nejsou.
Validace schématu
Section titled “Validace schématu”| Vstupy | value, schema (řetězec) |
| Výstupy | valid, invalid, errors |
| Konfigurace | schema — JSON Schema ve verzi draft-07, 2019-09 nebo 2020-12 |
Nástroj první volby, když chcete ověřit, že odpověď dodržuje svůj kontrakt.
Zapojte errors na blok Log: výstup rozepíše každé porušení, díky čemuž je
selhání v CI rovnou použitelné.
Požadavek HTTP ──response[body]──► Validace schématu ├─ valid ──► (pokračování) ├─ invalid ──► Throw └─ errors ──► LogČíst soubor
Section titled “Číst soubor”| Vstupy | path (řetězec) |
| Výstupy | content (řetězec) |
| Konfigurace | path — absolutní, nebo relativní k otevřenému souboru .restorm |
Relativní cesta je to, co je potřeba použít, má-li scénář zůstat přenositelný mezi vaším počítačem a CI.
Zapsat soubor
Section titled “Zapsat soubor”| Vstupy | path (řetězec), content |
| Výstupy | žádné |
| Konfigurace | path, mode: replace (výchozí) nebo append |
Log (záznam)
Section titled “Log (záznam)”| Vstupy | message (řetězec), data |
| Výstupy | žádné |
| Konfigurace | level: debug, info, warn, error |
To je ten blok pro sledovatelnost. Jeho záznamy jsou jediné, které se ve
výchozím stavu zobrazí v záznamu běhu a na výstupu
příkazové řádky — záznamy motoru se
přidají až s --all-logs.
Jinými slovy: to, co zapíšete blokem Log, je přesně to, co najdete v artefaktech své CI.
Assert (kontrola)
Section titled “Assert (kontrola)”| Vstupy | a (pozorovaná hodnota), b (očekávaná hodnota), message (řetězec) |
| Výstupy | then (úspěch), else (selhání) |
| Konfigurace | operator, a, b, message |
Dostupné operátory:
eq · ne · lt · lte · gt · gte · contains · isString ·
isNumber · isBoolean · isArray · isObject · isNull · exists ·
isEmpty · matchesRegex · isOneOf · deepEquals · lengthEq ·
lengthGt · lengthLt
Pole message je to, co učiní selhání v záznamu srozumitelným: napište do něj,
co se očekávalo, nikoli „chyba“.
Throw (vyvolání chyby)
Section titled “Throw (vyvolání chyby)”| Vstupy | message (řetězec) |
| Výstupy | žádné — tento blok nemá port done |
| Konfigurace | message |
Nechá běh záměrně selhat. Právě to dá v CI návratový kód 1: zapojte ho na
výstup else svých kritických assercí nebo na invalid u validace schématu.