Utilitários
Aleatório
Section titled “Aleatório”| Entradas | min, max (números), seed |
| Saídas | result |
op | Devolve |
|---|---|
int | Um inteiro entre min e max |
float | Um número de vírgula flutuante |
string | Uma cadeia de length caracteres |
boolean | Um booleano |
pick | Um elemento retirado de items |
O campo seed (um número ou uma cadeia) torna o sorteio determinista:
é o que permite ter dados variados mas um teste reproduzível.
É a diferença essencial em relação aos helpers {{$random…}}, que nunca são
reproduzíveis.
Validação de esquema
Section titled “Validação de esquema”| Entradas | value, schema (cadeia) |
| Saídas | valid, invalid, errors |
| Configuração | schema — um JSON Schema, em draft-07, 2019-09 ou 2020-12 |
A ferramenta ideal para verificar que uma resposta respeita o seu contrato.
Ligue errors a um Log: a saída detalha cada violação, o que torna uma
falha de CI diretamente explorável.
Pedido HTTP ──response[body]──► Validação de esquema ├─ valid ──► (continuação) ├─ invalid ──► Throw └─ errors ──► LogLer ficheiro
Section titled “Ler ficheiro”| Entradas | path (cadeia) |
| Saídas | content (cadeia) |
| Configuração | path — absoluto, ou relativo ao ficheiro .restorm aberto |
O caminho relativo é o que deve utilizar para que o cenário se mantenha portável entre a sua máquina e a CI.
Escrever ficheiro
Section titled “Escrever ficheiro”| Entradas | path (cadeia), content |
| Saídas | nenhuma |
| Configuração | path, mode: replace (predefinição) ou append |
Log (registo)
Section titled “Log (registo)”| Entradas | message (cadeia), data |
| Saídas | nenhuma |
| Configuração | level: debug, info, warn, error |
É a caixa de rastreabilidade. As suas entradas são as únicas mostradas por
predefinição no registo de execução e na saída da
linha de comandos — as entradas do
motor só se acrescentam com --all-logs.
Ou seja: o que escrever com Log é o que voltará a encontrar nos artefactos da sua CI.
Assert (asserção)
Section titled “Assert (asserção)”| Entradas | a (valor observado), b (valor esperado), message (cadeia) |
| Saídas | then (sucesso), else (falha) |
| Configuração | operator, a, b, message |
Operadores disponíveis:
eq · ne · lt · lte · gt · gte · contains · isString ·
isNumber · isBoolean · isArray · isObject · isNull · exists ·
isEmpty · matchesRegex · isOneOf · deepEquals · lengthEq ·
lengthGt · lengthLt
O campo message é o que tornará a falha compreensível no registo: escreva nele
o que era esperado, não “erro”.
Throw (lançar um erro)
Section titled “Throw (lançar um erro)”| Entradas | message (cadeia) |
| Saídas | nenhuma — esta caixa não tem porta done |
| Configuração | message |
Faz falhar a execução deliberadamente. É o que dá um código de saída 1 na
CI: ligue-a à saída else das suas asserções críticas ou a invalid de uma
validação de esquema.