Configuración del Test Runner de Allure para Node.js
El comportamiento de la integración Allure Node.js Test Runner se puede configurar mediante variables de entorno.
Proporcionar configuración
Node.js no pasa un objeto de opciones a los reporteros de prueba personalizados, por lo que la configuración se proporciona a través de variables de entorno. La mayoría de las opciones se establecen mediante la variable ALLURE_NODE_TEST_CONFIG, que contiene un objeto JSON:
export ALLURE_NODE_TEST_CONFIG='{"resultsDir":"allure-results","globalLabels":{"layer":"api"}}'
node --test --import allure-node-test/setup --test-reporter allure-node-test/reporter$Env:ALLURE_NODE_TEST_CONFIG = '{"resultsDir":"allure-results","globalLabels":{"layer":"api"}}'
node --test --import allure-node-test/setup --test-reporter allure-node-test/reporterUn ejemplo que combina las propiedades soportadas:
{
"resultsDir": "allure-results",
"links": {
"issue": {
"nameTemplate": "Issue #%s",
"urlTemplate": "https://issues.example.com/%s"
},
"tms": {
"nameTemplate": "TMS #%s",
"urlTemplate": "https://tms.example.com/%s"
},
"jira": {
"urlTemplate": "https://jira.example.com/browse/%s"
}
},
"categories": [
{
"name": "foo",
"messageRegex": "bar",
"traceRegex": "baz",
"matchedStatuses": ["failed", "broken"]
}
],
"environmentInfo": {
"os_platform": "linux",
"node_version": "26.1.0"
},
"globalLabels": {
"layer": "api"
}
}Como la configuración es JSON, solo se admiten valores que puedan representarse como JSON. Las opciones de configuración que requieren funciones — listeners y funciones de plantillas de enlaces — no están disponibles.
resultsDir
Ruta al directorio donde se guardarán los resultados de prueba, ver Cómo funciona. Si el directorio no existe, se creará. El valor predeterminado es allure-results.
También puedes establecer el directorio de salida usando la variable de entorno ALLURE_RESULTS_DIR. La opción resultsDir tiene prioridad sobre ALLURE_RESULTS_DIR si ambas están definidas.
export ALLURE_RESULTS_DIR=out/allure-results
node --test --import allure-node-test/setup --test-reporter allure-node-test/reporter$Env:ALLURE_RESULTS_DIR = "out/allure-results"
node --test --import allure-node-test/setup --test-reporter allure-node-test/reporterlinks
Un mapeo de plantillas que se pueden usar para construir URLs completas a partir de identificadores cortos.
Para cada tipo de enlace (ver allure.link()), puedes especificar lo siguiente:
nameTemplate— una plantilla para generar el nombre del enlace cuando no se proporciona.urlTemplate— una plantilla para generar la dirección completa del enlace cuando el valor proporcionado es un identificador en lugar de una URL completa.
Ambas plantillas deben contener %s en la posición donde debe colocarse el identificador.
Por ejemplo, con la configuración anterior, await allure.issue("123") producirá un enlace con el nombre Issue #123 y la dirección https://issues.example.com/123. Allure mostrará el enlace con el icono apropiado para el tipo issue.
categories
Define categorías personalizadas que se usarán para distinguir los resultados de prueba por sus errores; ver Categorías.
Esta configuración es un array, cada elemento es un objeto que representa una categoría personalizada. Los objetos pueden tener las siguientes propiedades:
name— nombre de la categoría.description— descripción de la categoría.descriptionHtml— descripción de la categoría en formato HTML.messageRegex— expresión regular que debe coincidir con el mensaje del resultado de prueba.traceRegex— expresión regular que debe coincidir con el trace del resultado de prueba.matchedStatuses— un array de estados que el resultado de prueba debe tener. Los estados válidos son"failed","broken","passed"y"skipped".flaky— si el resultado de prueba debe marcarse como inestable.
environmentInfo
Pares clave-valor que se mostrarán en la página principal del reporte, ver Información de entorno.
globalLabels
Etiquetas aplicadas a cada resultado de prueba en la ejecución. Útil para etiquetar todos los resultados con una capa, equipo o identificador de entorno sin repetirlo en cada prueba.
Se pueden proporcionar como un array de objetos etiqueta { "name": ..., "value": ... }:
{
"globalLabels": [
{ "name": "layer", "value": "api" },
{ "name": "team", "value": "backend" }
]
}O como un objeto simple que mapea nombres de etiqueta a valores. Un nombre puede mapear a una cadena o a un array de cadenas:
{
"globalLabels": {
"layer": "api",
"team": "backend"
}
}Otras variables de entorno
Además de ALLURE_NODE_TEST_CONFIG y ALLURE_RESULTS_DIR, la integración reconoce las siguientes variables de entorno:
ALLURE_TESTPLAN_PATH— ruta a un archivo de plan de pruebas usado para seleccionar qué pruebas ejecutar.ALLURE_LABEL_⟨NAME⟩— establece una etiqueta globalmente para todas las pruebas en la ejecución.