Configuración de Rust Cargo Test
La integración allure-cargotest se configura mediante variables de entorno.
ALLURE_RESULTS_DIR
Reemplaza el directorio predeterminado donde #[allure_test] escribe los resultados de Allure.
Cuando no está definida, allure-cargotest utiliza target/allure-results.
ALLURE_RESULTS_DIR=./allure-results cargo testALLURE_HOST_NAME
Reemplaza la etiqueta host que allure-cargotest agrega automáticamente.
Si esta variable no está definida, el adaptador intenta detectar el nombre del host de la máquina actual.
ALLURE_HOST_NAME=ci-linux-01 cargo testALLURE_THREAD_NAME
Reemplaza la etiqueta thread que allure-cargotest agrega automáticamente.
Si esta variable no está definida, el adaptador utiliza el nombre del hilo actual o el ID del hilo.
ALLURE_THREAD_NAME=worker-1 cargo testALLURELABEL*
Agrega etiquetas globales a cada resultado de prueba.
Cualquier variable de entorno cuyo nombre comience con ALLURE_LABEL_ se convierte en una etiqueta de Allure. Por ejemplo:
ALLURE_LABEL_epic="Web interface" \
ALLURE_LABEL_owner="QA Team" \
cargo testEsto aplica las etiquetas epic y owner a cada prueba de la ejecución.
allure.label.*
Agrega etiquetas globales usando el esquema de nombres alternativo que algunas herramientas de CI ya utilizan.
Cualquier variable de entorno cuyo nombre comience con allure.label. se trata de la misma manera que ALLURE_LABEL_*.
allure.label.layer=e2e cargo testALLURE_TESTPLAN_PATH
Apunta a un archivo JSON que define qué pruebas deben ejecutarse.
El archivo utiliza la estructura estándar del plan de pruebas de Allure:
{
"version": "1.0",
"tests": [{ "id": "AUTH-1" }, { "selector": "auth::tests::login_works" }]
}Ejecuta las pruebas con:
ALLURE_TESTPLAN_PATH=./testplan.json cargo testLa selección funciona de la siguiente manera:
- las entradas con
idcoinciden con pruebas que exponen un ID de Allure, por ejemplo mediante#[allure_test(id = "AUTH-1")], - las entradas con
selectorcoinciden con el nombre completo de la prueba en Rust, incluida su ruta de módulo.
Si ALLURE_TESTPLAN_PATH no está definida, el archivo no existe o el JSON está mal formado, allure-cargotest omite el filtrado y ejecuta las pruebas normalmente.
Etiquetas automáticas agregadas por allure-cargotest
Cuando utilizas #[allure_test] o CargoTestReporter, allure-cargotest agrega algunas etiquetas automáticamente:
language = rustframework = cargo-testhostthread
También deriva etiquetas de suite a partir de la ruta del módulo de Rust:
- un único segmento de módulo se convierte en
suite, - dos segmentos se convierten en
parentSuiteysuite, - tres o más segmentos se convierten en
parentSuite,suiteysubSuite.
Las llamadas explícitas a allure.parent_suite(...), allure.suite(...) o allure.sub_suite(...) reemplazan las etiquetas derivadas automáticamente con el mismo nombre.