跳到內容

實用工具

輸入minmax(數字)、seed
輸出result
op回傳
int介於 minmax 之間的整數
float一個浮點數
string長度為 length 個字元的字串
boolean一個布林值
pickitems 中抽出一個項目

seed 欄位(一個數字或字串)會讓抽取變成確定的:這正是既能有多樣資料、又 能有可重現測試的關鍵。這也是它和 {{$random…}} helper 之間最本質的差別 — 後者永 遠不可重現。

輸入valueschema(字串)
輸出validinvaliderrors
設定schema — 一份 JSON Schema,可以是 draft-07、2019-09 或 2020-12

要確認一個回應遵守它的合約,這是首選工具。把 errors 接到一個 Log 上:輸出會 逐條列出每個違規之處,讓一次 CI 失敗馬上就能拿來用。

HTTP 請求 ──response[body]──► Schema validate
├─ valid ──► (後續)
├─ invalid ──► Throw
└─ errors ──► Log
輸入path(字串)
輸出content(字串)
設定path — 絕對路徑,或相對於已開啟的 .restorm 檔案

想讓情境在您的機器與 CI 之間都能通用,就該用相對路徑。

輸入path(字串)、content
輸出
設定pathmodereplace(預設)或 append
輸入message(字串)、data
輸出
設定leveldebuginfowarnerror

這就是那個負責留下軌跡的節點。在執行記錄裡,以及在 命令列的輸出上,預設只會顯示它的 條目 — 引擎自己的條目要加上 --all-logs 才會出現。

換句話說:您用 Log 寫下的東西,就是您在 CI 產出物裡會找到的東西。

輸入a(觀察到的值)、b(預期的值)、message(字串)
輸出then(通過)、else(失敗)
設定operatorabmessage

可用的運算子:

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

刻意讓執行失敗。這正是在 CI 裡取得結束代碼 1 的手段:把它接在關鍵斷言的 else 輸出上,或接在結構描述驗證的 invalid 上。