Resultados y reintentos
Resultados
Sección titulada «Resultados»Cada intento de un escenario es un resultado, en el orden en que se ejecutaron los intentos:
- Un escenario que no se reintenta envía un resultado.
- Un escenario que falla una vez y luego pasa, con
--retry, llega como dos resultados de una misma clave: el intento fallido y después el intento aprobado. - Cada fila de un esquema de escenario es un resultado propio, registrado en el caso de ejecución con sus valores. Un caso que el reporte crea toma los encabezados de Examples como su parámetro
Examples, cuando al menos dos filas reportan los mismos nombres.
npx cucumber-js --retry 2 --format @probara/cucumber-reporterCada intento queda en el historial del caso. La ejecución del caso conserva el último resultado.
Estados
Sección titulada «Estados»Cada resultado tiene uno de cuatro estados: passed, failed, skipped o blocked. El reporter envía passed,
failed y skipped. blocked llega desde el mapeo de estados.
Estados de los pasos
Sección titulada «Estados de los pasos»| Estado de Cucumber | Estado en Probara | Por qué |
|---|---|---|
passed | passed | El paso se ejecutó y pasó. |
failed | failed | El paso se ejecutó y falló. Su mensaje es el error del paso. |
ambiguous | failed | Más de una definición coincide con el paso. Su mensaje lo indica. |
skipped, pending, undefined, unknown | skipped | El paso no se ejecutó: se omitió, no tiene definición o está pendiente. |
El informe de Cucumber escribe estos estados en minúsculas (su informe JSON) o en mayúsculas (sus Messages). El reporter acepta ambos.
Estados de los escenarios
Sección titulada «Estados de los escenarios»Un escenario, o una fila de un esquema, es:
failedcuando falla alguno de sus pasos, o alguno de sus hooksBeforeoAfter;- si no,
skippedcuando alguno de sus pasos no se ejecutó; - si no,
passed.
Mapeo y filtro de estados
Sección titulada «Mapeo y filtro de estados»statusMapping envía un estado como otro, y statusFilter deja fuera del reporte los resultados con esos
estados, después del mapeo. Por ejemplo, PROBARA_STATUS_MAPPING=failed=blocked y PROBARA_STATUS_FILTER=skipped
envían cada escenario fallido como bloqueado, y no envían ninguno omitido.
Duraciones
Sección titulada «Duraciones»La duración de un paso es la suya propia. La duración de un escenario es la suma de sus pasos y hooks, en
milisegundos. El inicio de cada intento se envía como su executedAt.
Archivo de resultados
Sección titulada «Archivo de resultados»Cuando Probara no puede recibir un resultado, el reporter puede guardarlo en un archivo para enviarlo después. Define
resultsFile (PROBARA_RESULTS_FILE=reports/probara-results.json): al terminar la ejecución, se escribe ahí cada
resultado que no se envió. Con el reporte desactivado, se escriben ahí todos los resultados.
El archivo nunca se sobrescribe. Si ya existe, el reporter escribe en el primer nombre libre junto a él
(probara-results-2.json, y así sucesivamente), y la línea de resumen indica dónde quedó.
Para enviar el archivo más tarde, ejecuta la CLI con el mismo token y el mismo proyecto:
npx @probara/cli import results 'reports/probara-results*.json'Sus resultados conservan sus claves y sus enlaces a los casos.
Asignar resultados fallidos
Sección titulada «Asignar resultados fallidos»assignFailedTo (PROBARA_ASSIGN_FAILED_TO=ana@example.com,bo@example.com) asigna cada resultado fallido que no
tiene responsable a uno de los miembros que nombra, por turnos.