Przejdź do głównej zawartości

Narzędzia

Wejściamin, max (liczby), seed
Wyjściaresult
opZwraca
intLiczbę całkowitą z zakresu od min do max
floatLiczbę zmiennoprzecinkową
stringCiąg o długości length znaków
booleanWartość logiczną
pickElement wylosowany z items

Pole seed (liczba lub ciąg znaków) czyni losowanie deterministycznym: właśnie dzięki temu dane pozostają zróżnicowane, a test powtarzalny. To zasadnicza różnica względem helperów {{$random…}}, które nigdy nie są powtarzalne.

Wejściavalue, schema (ciąg znaków)
Wyjściavalid, invalid, errors
Konfiguracjaschema — JSON Schema w wersji draft-07, 2019-09 albo 2020-12

Najlepsze narzędzie do sprawdzenia, czy odpowiedź respektuje swój kontrakt. Wyjście errors warto podłączyć do bloku Log: wypisuje ono szczegółowo każde naruszenie, dzięki czemu niepowodzenie w ciągłej integracji daje się od razu wykorzystać.

Żądanie HTTP ──response[body]──► Walidacja schematu
├─ valid ──► (dalej)
├─ invalid ──► Throw
└─ errors ──► Log
Wejściapath (ciąg znaków)
Wyjściacontent (ciąg znaków)
Konfiguracjapath — bezwzględna albo względna wobec otwartego pliku .restorm

Ścieżka względna jest właściwym wyborem, aby scenariusz pozostał przenośny między maszyną lokalną a ciągłą integracją.

Wejściapath (ciąg znaków), content
Wyjściabrak
Konfiguracjapath, mode: replace (domyślnie) albo append
Wejściamessage (ciąg znaków), data
Wyjściabrak
Konfiguracjalevel: debug, info, warn, error

To główny blok zapewniający śledzenie przebiegu. Tylko jego wpisy są domyślnie wyświetlane w dzienniku wykonania oraz na wyjściu wiersza poleceń — wpisy samego silnika dochodzą wyłącznie z opcją --all-logs.

Inaczej mówiąc: to, co zapisze akcja Log, znajdzie się w artefaktach przebiegu ciągłej integracji.

Wejściaa (wartość zaobserwowana), b (wartość oczekiwana), message (ciąg znaków)
Wyjściathen (powodzenie), else (niepowodzenie)
Konfiguracjaoperator, a, b, message

Dostępne operatory:

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

Pole message sprawia, że niepowodzenie staje się zrozumiałe w dzienniku: warto wpisać w nim, czego się oczekiwano, a nie samo „błąd”.

Wejściamessage (ciąg znaków)
Wyjściabrak — ten blok nie ma portu done
Konfiguracjamessage

Celowo doprowadza wykonanie do niepowodzenia. To właśnie ta akcja daje kod wyjścia 1 w ciągłej integracji: podłącza się ją do wyjścia else krytycznych asercji albo do invalid walidacji schematu.