Utilidades
Aleatorio
Section titled “Aleatorio”| Entradas | min, max (números), seed |
| Salidas | result |
op | Devuelve |
|---|---|
int | Un entero entre min y max |
float | Un número en coma flotante |
string | Una cadena de length caracteres |
boolean | Un booleano |
pick | Un elemento extraído de items |
El campo seed (un número o una cadena) hace que el sorteo sea determinista: es lo
que permite tener datos variados pero una prueba reproducible. Es la diferencia esencial con
los helpers {{$random…}}, que nunca son reproducibles.
Validación de esquema
Section titled “Validación de esquema”| Entradas | value, schema (cadena) |
| Salidas | valid, invalid, errors |
| Configuración | schema — un JSON Schema, en draft-07, 2019-09 o 2020-12 |
Es la herramienta idónea para comprobar que una respuesta respeta su contrato. Conecte
errors a un Log: la salida detalla cada infracción, lo que hace que un fallo de CI sea
directamente aprovechable.
Requête HTTP ──response[body]──► Validation schéma ├─ valid ──► (suite) ├─ invalid ──► Throw └─ errors ──► LogLeer archivo
Section titled “Leer archivo”| Entradas | path (cadena) |
| Salidas | content (cadena) |
| Configuración | path — absoluta, o relativa al archivo .restorm abierto |
La ruta relativa es lo que conviene usar para que el escenario siga siendo portátil entre su máquina y la CI.
Escribir archivo
Section titled “Escribir archivo”| Entradas | path (cadena), content |
| Salidas | ninguna |
| Configuración | path, mode: replace (por defecto) o append |
Log (registro)
Section titled “Log (registro)”| Entradas | message (cadena), data |
| Salidas | ninguna |
| Configuración | level: debug, info, warn, error |
Es la caja de trazabilidad. Sus entradas son las únicas que se muestran por defecto en el
registro de ejecución y en la salida de la
línea de comandos: las entradas del motor solo se
añaden con --all-logs.
En otras palabras: lo que usted escribe con Log es lo que encontrará en los artefactos de su CI.
Assert (aserción)
Section titled “Assert (aserción)”| Entradas | a (valor observado), b (valor esperado), message (cadena) |
| Salidas | then (éxito), else (fallo) |
| Configuración | operator, a, b, message |
Operadores disponibles:
eq · ne · lt · lte · gt · gte · contains · isString · isNumber ·
isBoolean · isArray · isObject · isNull · exists · isEmpty · matchesRegex ·
isOneOf · deepEquals · lengthEq · lengthGt · lengthLt
El campo message es lo que hará comprensible el fallo en el registro: escriba ahí lo que se
esperaba, no «error».
Throw (lanzar un error)
Section titled “Throw (lanzar un error)”| Entradas | message (cadena) |
| Salidas | ninguna: esta caja no tiene puerto done |
| Configuración | message |
Hace fallar la ejecución deliberadamente. Es lo que da un código de salida 1 en CI:
conéctela a la salida else de sus aserciones críticas o a invalid de una validación de
esquema.