Утиліти
Випадкове значення
Section titled “Випадкове значення”| Входи | min, max (числа), seed |
| Виходи | result |
op | Повертає |
|---|---|
int | Ціле число між min і max |
float | Число з рухомою комою |
string | Рядок із length символів |
boolean | Булеве значення |
pick | Елемент, узятий із items |
Поле seed (число або рядок) робить вибір детермінованим: саме це дає
змогу мати різноманітні дані й водночас відтворюваний тест. Це і є ключова
відмінність від помічників {{$random…}}, які ніколи не відтворювані.
Перевірка схеми
Section titled “Перевірка схеми”| Входи | 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Прочитати файл
Section titled “Прочитати файл”| Входи | path (рядок) |
| Виходи | content (рядок) |
| Конфігурація | path — абсолютний або відносний до відкритого файлу .restorm |
Саме відносний шлях варто використовувати, щоб сценарій залишався переносним між вашою машиною та CI.
Записати файл
Section titled “Записати файл”| Входи | path (рядок), content |
| Виходи | немає |
| Конфігурація | path, mode: replace (типово) або append |
Log (журнал)
Section titled “Log (журнал)”| Входи | message (рядок), data |
| Виходи | немає |
| Конфігурація | level: debug, info, warn, error |
Це той самий блок простежуваності. Лише його записи типово показуються в
журналі виконання та у виводі
командного рядка — записи рушія
додаються тільки з --all-logs.
Інакше кажучи: те, що ви пишете через Log, — це те, що ви знайдете в артефактах свого CI.
Assert (перевірка)
Section titled “Assert (перевірка)”| Входи | 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 зробить невдачу зрозумілою в журналі: напишіть у ньому, чого
ви очікували, а не «помилка».
Throw (викинути помилку)
Section titled “Throw (викинути помилку)”| Входи | message (рядок) |
| Виходи | немає — цей блок не має порту done |
| Конфігурація | message |
Навмисно зриває виконання. Саме це дає код виходу 1 у CI: під’єднуйте його
до виходу else ваших критичних перевірок або до invalid перевірки схеми.