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

Español

English

Español

English

Appearance

Sidebar Navigation

Introducción

Instalación y Actualización

Instalación para Windows

Instalación para macOS

Instalación para Linux

Instalación para Node.js

Actualización

Primeros pasos

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

Categorías de defectos

Análisis visual

Análisis de estabilidad de prueba

Historial y reintentos

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

Cómo funciona

Visión general

Archivo de resultados de prueba

Archivo de contenedor

Archivo de categorías

Archivo de entorno

Archivo de ejecutor

Archivos de historial

Integraciones

Azure DevOps

Bamboo

GitHub Actions

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

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

Configuración de Allure Mocha ​

Existen dos formas de configurar Allure Mocha: usando un script de ejecución y a través de la configuración de Mocha. La primera requiere algunos pasos adicionales, pero admite todas las opciones de configuración de Allure Mocha. La segunda es más fácil de usar, pero solo admite un conjunto limitado de opciones.

Usando un script de ejecución ​

Crea un script de ejecución y pasa las propiedades reporter y reporterOptions a una instancia de Mocha. Luego, usa la instancia configurada para ejecutar las pruebas.

Aquí tienes ejemplos de configuraciones ESM y CommonJS:

js
import { Status } from "allure-js-commons";
import { glob } from "glob";
import Mocha from "mocha";
import * as os from "node:os";

const mocha = new Mocha({
  reporter: "allure-mocha",
  reporterOptions: {
    resultsDir: "allure-results",
    extraReporters: "spec",
    links: {
      issue: {
        nameTemplate: "Issue #%s",
        urlTemplate: "https://issues.example.com/%s",
      },
      tms: {
        nameTemplate: "TMS #%s",
        urlTemplate: "https://tms.example.com/%s",
      },
      jira: {
        urlTemplate: (v) => `https://jira.example.com/browse/${v}`,
      },
    },
    categories: [
      {
        name: "foo",
        messageRegex: "bar",
        traceRegex: "baz",
        matchedStatuses: [Status.FAILED, Status.BROKEN],
      },
    ],
    environmentInfo: {
      os_platform: os.platform(),
      os_release: os.release(),
      os_version: os.version(),
      node_version: process.version,
    },
  },

  /* Otras opciones de Mocha... */
});

glob.sync("test/**/*.spec.{m,c,}js").forEach((file) => mocha.addFile(file));
await mocha.loadFilesAsync();
mocha.run((failures) => process.exit(failures));
js
const { Status } = require("allure-js-commons");
const { glob } = require("glob");
const Mocha = require("mocha");
const os = require("node:os");

const mocha = new Mocha({
  reporter: "allure-mocha",
  reporterOptions: {
    resultsDir: "allure-results",
    extraReporters: "spec",
    links: {
      issue: {
        nameTemplate: "Issue #%s",
        urlTemplate: "https://issues.example.com/%s",
      },
      tms: {
        nameTemplate: "TMS #%s",
        urlTemplate: "https://tms.example.com/%s",
      },
      jira: {
        urlTemplate: (v) => `https://jira.example.com/browse/${v}`,
      },
    },
    categories: [
      {
        name: "foo",
        messageRegex: "bar",
        traceRegex: "baz",
        matchedStatuses: [Status.FAILED, Status.BROKEN],
      },
    ],
    environmentInfo: {
      os_platform: os.platform(),
      os_release: os.release(),
      os_version: os.version(),
      node_version: process.version,
    },
  },

  /* Otras opciones de Mocha... */
});

glob.sync("test/**/*.spec.{m,c,}js").forEach((file) => mocha.addFile(file));
mocha.loadFilesAsync().then(() => {
  mocha.run((failures) => process.exit(failures));
});

INFO

Los ejemplos utilizan el paquete glob para ubicar y cargar los archivos de prueba. Es posible que necesites ajustar el patrón según la estructura de tu proyecto.

Ejecuta el script para correr las pruebas:

shell
node ./runner.mjs
shell
yarn node ./runner.mjs

Usando la configuración de Mocha ​

Puedes usar un archivo de configuración de Mocha o la CLI para configurar Allure Mocha. Ten en cuenta que solo se admiten resultsDir y extraReporters de esa forma.

json
{
  "reporter": "allure-mocha",
  "reporterOptions": ["resultsDir=allure-results", "extraReporters=spec"]
}
json
{
  // ...
  "mocha": {
    "reporter": "allure-mocha",
    "reporterOptions": ["resultsDir=allure-results", "extraReporters=spec"]
  }
}
yaml
reporter: allure-mocha
reporterOptions:
  - "resultsDir=allure-results"
  - "extraReporters=spec"
js
module.exports = {
  reporter: "allure-mocha",
  reporterOptions: ["resultsDir=allure-results", "extraReporters=spec"],
};
shell
npx mocha -R "allure-mocha" -O "resultsDir=allure-results,extraReporters=spec"

Opciones de configuración ​

INFO

Esta sección describe las opciones de configuración para Allure Mocha 3.0 y versiones posteriores. Para versiones más antiguas, puedes consultar este readme.

resultsDir ​

Ruta al directorio donde Allure Mocha guardará los resultados de las pruebas, consulta Cómo funciona. Si el directorio no existe, se creará. El valor predeterminado es allure-results.

WARNING

La ruta no puede contener los caracteres = y , si se proporciona a través de un archivo de configuración de Mocha o la CLI. Usa un script de ejecución si necesitas superar esta limitación.

extraReporters ​

Uno o más reporteros de Mocha que se ejecutarán junto con Allure Mocha. En su forma más básica, toma una sola cadena, que es el nombre o la ruta del módulo del reportero:

js
npx mocha -R allure-mocha -O extraReporters=spec
js
npx mocha -R allure-mocha -O extraReporters=./reporter.cjs

Si necesitas pasar opciones al reportero, usa la siguiente sintaxis (solo es compatible en un script de ejecución):

js
const mocha = new Mocha({
  reporter: "allure-mocha",
  reporterOptions: {
    extraReporters: ["json", { output: "results.json" }],
  },
});

Puedes habilitar más de un reportero adicional:

js
const mocha = new Mocha({
  reporter: "allure-mocha",
  reporterOptions: {
    extraReporters: ["spec", ["json", { output: "results.json" }]],
  },
});

links ​

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 o una función para generar el nombre del enlace cuando no se proporciona.
  • urlTemplate — una plantilla o una función para generar la dirección del enlace cuando no se proporciona.

Las plantillas pueden ser cadenas (con %s donde debe colocarse el identificador) o funciones (que aceptan el identificador y devuelven la URL).

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/. Allure mostrará el enlace con el ícono apropiado para el tipo issue.

INFO

Esta opción solo se puede proporcionar a través de un script de ejecución.

categories ​

Define categorías personalizadas que se usarán para distinguir los resultados de las pruebas según sus errores; consulta Categorías de defectos.

Esta configuración es un arreglo, donde cada elemento es un objeto que representa una categoría personalizada. Los objetos pueden tener las siguientes propiedades:

  • name — el nombre de la categoría.
  • messageRegex — una expresión regular con la que debería coincidir el mensaje del resultado de la prueba.
  • traceRegex — una expresión regular con la que debería coincidir el rastreo del resultado de la prueba.
  • matchedStatuses — un arreglo de estados que el resultado de la prueba debe cumplir.
  • flaky — si el resultado de la prueba debe ser marcado como inestable.

INFO

Esta opción solo se puede proporcionar a través de un script de ejecución.

environmentInfo ​

Pares de clave-valor que se mostrarán en la página principal del informe, consulta Información del entorno.

INFO

Esta opción solo se puede proporcionar a través de un script de ejecución.

Pager
Previous pageEmpezando
Next pageReferencia
Powered by

Únete a nuestro boletín

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