Skip to content
Allure report logoAllure Report
Main Navigation MódulosDocumentaciónProyecto inicial

Español

English

Español

English

Appearance

Sidebar Navigation

Allure 3

Instalación y Actualización

Instalación

Actualización

Configurar

Trabajando con Informes

Cómo generar un informe

Cómo ver un informe

Mejorar la legibilidad de informes

Mejorar la navegación en informe

Lectura de los gráficos de Allure

Migrar desde Allure 2

Allure 2

Instalación y Actualización

Instalación para Windows

Instalación para macOS

Instalación para Linux

Instalación para Node.js

Actualización

Trabajando con Informes

Cómo generar un informe

Cómo ver un informe

Mejorar la legibilidad de informes

Mejorar la navegación en informe

Funcionalidades

Pasos de prueba

Adjuntos

Estados de prueba

Ordenar y filtrar

Entornos

Construcciones Multietapa

Categorías

Análisis visual

Análisis de estabilidad de prueba

Historial y reintentos

Quality Gate

Errores y Adjuntos Globales

Cronología

Exportar a CSV

Exportar métricas

Guías

Parametrización JUnit 5

JUnit 5 & Selenide: capturas de pantalla y adjuntos

JUnit 5 & Selenium: capturas de pantalla y adjuntos

Configurar JUnit 5 con GitHub Actions

Parametrización en Pytest

Pytest & Selenium: capturas de pantalla y adjuntos

Pytest & Playwright: capturas de pantalla y adjuntos

Pytest & Playwright: videos

Parametrización en Playwright

Publicando Reportes en GitHub Pages

Allure Report 3: XCResults Reader

Cómo funciona

Visión general

Glosario

Archivo de resultados de prueba

Archivo de contenedor

Archivo de categorías

Archivo de entorno

Archivo de ejecutor

Archivos de historial

Identificadores de Prueba

Integraciones

Azure DevOps

Bamboo

GitHub Action

Jenkins

IDEs de JetBrains

TeamCity

Visual Studio Code

Frameworks

Behat

Empezando

Configuración

Referencia

Behave

Empezando

Configuración

Referencia

Codeception

Empezando

Configuración

Referencia

CodeceptJS

Empezando

Configuración

Referencia

Cucumber.js

Empezando

Configuración

Referencia

Cucumber-JVM

Empezando

Configuración

Referencia

Cucumber.rb

Empezando

Configuración

Referencia

Cypress

Empezando

Configuración

Referencia

Jasmine

Empezando

Configuración

Referencia

JBehave

Empezando

Configuración

Referencia

Jest

Empezando

Configuración

Referencia

JUnit 4

Empezando

Configuración

Referencia

JUnit 5

Empezando

Configuración

Referencia

Mocha

Empezando

Configuración

Referencia

Newman

Empezando

Configuración

Referencia

NUnit

Empezando

Configuración

Referencia

PHPUnit

Empezando

Configuración

Referencia

Playwright

Empezando

Configuración

Referencia

pytest

Empezando

Configuración

Referencia

Pytest-BDD

Empezando

Configuración

Referencia

Reqnroll

Empezando

Configuración

Referencia

REST Assured

Empezando

Configuración

Robot Framework

Empezando

Configuración

Referencia

Rust Cargo Test

Empezando

Configuración

Referencia

RSpec

Empezando

Configuración

Referencia

SpecFlow

Empezando

Configuración

Referencia

Spock

Empezando

Configuración

Referencia

TestNG

Empezando

Configuración

Referencia

Vitest

Empezando

Configuración

Referencia

WebdriverIO

Empezando

Configuración

Referencia

xUnit.net

Empezando

Configuración

Referencia

On this page

Primeros pasos con Rust Cargo Test ​

allure-cargotest crates.io latest version

Genera hermosos reportes HTML usando Allure Report y tus pruebas en Rust.

INFO

El crate principal orientado al usuario es allure-cargotest. Si estás construyendo tu propio adaptador para un runner o framework personalizado, usa allure-rust-commons en su lugar. Ambos crates se encuentran en el repositorio oficial allure-rust.

Configuración ​

1. Prepara tu proyecto ​

  1. Asegúrate de tener instalado un toolchain de Rust estable y reciente.

    El workspace oficial de allure-rust está publicado para Rust 1.74 y versiones más recientes, y usa la edición Rust 2021.

  2. Abre una terminal y ve al directorio del proyecto. Por ejemplo:

    bash
    cd /home/user/myproject
  3. Instala Allure Report. El repositorio oficial de allure-rust documenta el flujo de trabajo con la CLI de Allure 3.

  4. Agrega el adaptador allure-cargotest:

    bash
    cargo add allure-cargotest --dev
  5. Anota tus pruebas con #[allure_test]. También puedes marcar funciones auxiliares con #[step] para que aparezcan como pasos separados en el reporte.

    rust
    use allure_cargotest::{allure_test, step};
    
    #[step]
    fn open_login_page() {
        // implementación de tu paso
    }
    
    #[allure_test]
    #[test]
    fn login_works() {
        allure.epic("Web interface");
        allure.feature("Authentication");
        allure.story("Login with username and password");
        allure.parameter("browser", "firefox");
    
        open_login_page();
        allure.attachment("page.html", "text/html", "<html>...</html>");
    }

2. Ejecutar pruebas ​

Ejecuta tus pruebas de la misma manera que de costumbre:

bash
cargo test

Por defecto, allure-cargotest escribe los resultados en target/allure-results.

Para usar un directorio diferente, establece ALLURE_RESULTS_DIR antes de la ejecución de prueba:

bash
ALLURE_RESULTS_DIR=./allure-results cargo test

Si el directorio de resultados ya existe, los nuevos archivos se agregan a los existentes, de modo que un futuro reporte se basará en todos ellos.

3. Generar un reporte ​

Después de la ejecución de prueba, genera y abre el reporte con la CLI de Allure:

bash
allure generate ./target/allure-results --output ./target/allure-report --clean
allure open ./target/allure-report

Si cambiaste el directorio de resultados con ALLURE_RESULTS_DIR, usa esa ruta en el comando allure generate.

Escribir pruebas ​

Rust Cargo Test extiende la salida estándar de cargo test con características de reporte más detalladas. Puedes usarlo para:

  • agregar descripciones, propietarios, enlaces y otros metadatos,
  • organizar las pruebas en jerarquías basadas en comportamiento y en suites,
  • dividir la ejecución en pasos anidados,
  • describir parámetros y adjuntos,
  • ejecutar solo las pruebas seleccionadas mediante un archivo de plan de pruebas.

Agregar metadatos ​

Dentro de una función marcada con #[allure_test], la macro inyecta una fachada allure que puedes usar para enriquecer el resultado de prueba:

rust
use allure_cargotest::allure_test;

#[allure_test(name = "Login works", id = "AUTH-1")]
#[test]
fn login_works() {
    allure.description("This test verifies login with a username and a password.");
    allure.owner("John Doe");
    allure.tag("smoke");
    allure.severity("critical");
    allure.issue("AUTH-123", "https://jira.example.com/browse/AUTH-123");
    allure.tms("TMS-456", "https://tms.example.com/cases/TMS-456");
}

Organizar pruebas ​

Allure admite jerarquías tanto basadas en comportamiento como en suites. Por ejemplo:

rust
use allure_cargotest::allure_test;

#[allure_test]
#[test]
fn login_works() {
    allure.epic("Web interface");
    allure.feature("Authentication");
    allure.story("Login with username and password");

    allure.parent_suite("UI tests");
    allure.suite("Authentication");
    allure.sub_suite("Positive scenarios");
}

Cuando usas #[allure_test], allure-cargotest también deriva automáticamente etiquetas de suite a partir de la ruta del módulo de Rust. Las llamadas explícitas a allure.parent_suite(...), allure.suite(...) o allure.sub_suite(...) sobrescriben las etiquetas sintéticas con el mismo nombre.

Dividir una prueba en pasos ​

Puedes declarar funciones de paso reutilizables con #[step]:

rust
use allure_cargotest::{allure_test, step};

#[step(name = "Open login page")]
fn open_login_page() {
    // ...
}

#[step(name = "Submit credentials")]
fn submit_credentials() {
    // ...
}

#[allure_test]
#[test]
fn login_works() {
    open_login_page();
    submit_credentials();
}

También puedes crear pasos directamente desde la API de runtime:

rust
use allure_cargotest::allure_test;

#[allure_test]
#[test]
fn login_works() {
    allure.step_with("Open login page", || {
        // ...
    });

    let _guard = allure.step("Check profile page");
    // ...
}

Agregar parámetros y adjuntos ​

Los parámetros y adjuntos se almacenan en los resultados de Allure generados y se muestran en el reporte:

rust
use allure_cargotest::allure_test;

#[allure_test]
#[test]
fn login_works() {
    allure.parameter("browser", "firefox");
    allure.parameter("environment", "staging");
    allure.attachment(
        "request.json",
        "application/json",
        br#"{"username":"demo","rememberMe":true}"#,
    );
}

Seleccionar pruebas mediante un archivo de plan de pruebas ​

allure-cargotest admite el mecanismo estándar de plan de pruebas de Allure mediante la variable de entorno ALLURE_TESTPLAN_PATH.

Crea un archivo JSON como el siguiente:

json
{
  "version": "1.0",
  "tests": [{ "id": "AUTH-1" }, { "selector": "auth::tests::login_works" }]
}

Luego ejecuta las pruebas con:

bash
ALLURE_TESTPLAN_PATH=./testplan.json cargo test

Las entradas con id coinciden con pruebas anotadas con #[allure_test(id = "...")]. Las entradas con selector coinciden con el nombre completo de la prueba en Rust, incluida su ruta de módulo.

Construir una integración personalizada ​

Si necesitas integrar Allure con un runner o framework de pruebas personalizado en Rust, usa allure-rust-commons:

bash
cargo add allure-rust-commons

En ese nivel, creas un writer, inicializas un runtime, inicias un caso de prueba y lo detienes cuando la ejecución termina:

rust
use allure_rust_commons::{AllureRuntime, FileSystemResultsWriter, StartTestCaseParams, Status};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let writer = FileSystemResultsWriter::new("target/allure-results")?;
    let runtime = AllureRuntime::new(writer);
    let lifecycle = runtime.lifecycle();

    lifecycle.start_test_case(
        StartTestCaseParams::new("login_works").with_full_name("auth::login_works"),
    );
    // ... actualiza metadatos, agrega pasos y adjuntos ...
    lifecycle.stop_test_case(Status::Passed, None);

    Ok(())
}

Consulta la Referencia para los principales macros y APIs de runtime, o la Configuración para las variables de entorno admitidas.

Pager
Previous pageReferencia
Next pageConfiguración
Powered by

Suscríbete a nuestro boletín

Recibe noticias del producto que realmente necesitas, sin spam.

Suscribirse
Allure TestOps
  • Visión general
  • Por qué elegirnos
  • Nube
  • Autoalojado
  • Historias de éxito
Compañía
  • Documentación
  • Blog
  • Sobre nosotros
  • Contacto
  • Eventos
© 2026 Qameta Software Inc. All rights reserved.