Pular para o conteúdo

Utilitários

Entradasmin, max (números), seed
Saídasresult
opDevolve
intUm inteiro entre min e max
floatUm número de vírgula flutuante
stringUma cadeia de length caracteres
booleanUm booleano
pickUm 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.

Entradasvalue, schema (cadeia)
Saídasvalid, invalid, errors
Configuraçãoschema — 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 ──► Log
Entradaspath (cadeia)
Saídascontent (cadeia)
Configuraçãopath — 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.

Entradaspath (cadeia), content
Saídasnenhuma
Configuraçãopath, mode: replace (predefinição) ou append
Entradasmessage (cadeia), data
Saídasnenhuma
Configuraçãolevel: 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.

Entradasa (valor observado), b (valor esperado), message (cadeia)
Saídasthen (sucesso), else (falha)
Configuraçãooperator, 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”.

Entradasmessage (cadeia)
Saídasnenhuma — esta caixa não tem porta done
Configuraçãomessage

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.