Перейти до вмісту

Утиліти

Входиmin, max (числа), seed
Виходиresult
opПовертає
intЦіле число між min і max
floatЧисло з рухомою комою
stringРядок із length символів
booleanБулеве значення
pickЕлемент, узятий із items

Поле seed (число або рядок) робить вибір детермінованим: саме це дає змогу мати різноманітні дані й водночас відтворюваний тест. Це і є ключова відмінність від помічників {{$random…}}, які ніколи не відтворювані.

Входиvalue, schema (рядок)
Виходиvalid, invalid, errors
Конфігураціяschema — JSON Schema у версії draft-07, 2019-09 або 2020-12

Найкращий інструмент, щоб переконатися, що відповідь дотримується свого контракту. Під’єднайте errors до Log: вивід деталізує кожне порушення, і це робить невдачу в CI придатною до негайного розбору.

Запит HTTP ──response[body]──► Перевірка схеми
├─ valid ──► (далі)
├─ invalid ──► Throw
└─ errors ──► Log
Входиpath (рядок)
Виходиcontent (рядок)
Конфігураціяpath — абсолютний або відносний до відкритого файлу .restorm

Саме відносний шлях варто використовувати, щоб сценарій залишався переносним між вашою машиною та CI.

Входиpath (рядок), content
Виходинемає
Конфігураціяpath, mode: replace (типово) або append
Входиmessage (рядок), data
Виходинемає
Конфігураціяlevel: debug, info, warn, error

Це той самий блок простежуваності. Лише його записи типово показуються в журналі виконання та у виводі командного рядка — записи рушія додаються тільки з --all-logs.

Інакше кажучи: те, що ви пишете через Log, — це те, що ви знайдете в артефактах свого CI.

Входиa (спостережене значення), b (очікуване значення), message (рядок)
Виходиthen (успіх), else (невдача)
Конфігураціяoperator, a, b, message

Доступні оператори:

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

Саме поле message зробить невдачу зрозумілою в журналі: напишіть у ньому, чого ви очікували, а не «помилка».

Входиmessage (рядок)
Виходинемає — цей блок не має порту done
Конфігураціяmessage

Навмисно зриває виконання. Саме це дає код виходу 1 у CI: під’єднуйте його до виходу else ваших критичних перевірок або до invalid перевірки схеми.