Ir al contenido principal
Versión: 6.1

Informe en formato XML de JUnit

[Traducción Beta No Oficial]

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

JUnit incluye un generador de informes XML que denomina informe XML heredado. Muchas herramientas se integran con este formato, por lo que resulta muy útil. Sin embargo, este informe no contempla el anidamiento de pruebas. Por ello, cuando se utiliza con un estilo de prueba anidado en Kotest, incluirá las pruebas padre como elementos huérfanos.

Para resolver esto, Kotest ofrece su propia implementación del mismo formato, configurable para decidir si incluir pruebas padre y/o colapsar los nombres.

nota

Es necesario incluir el siguiente módulo: io.kotest:kotest-extensions-junitxml en tu build. Busca la última versión en Maven Central aquí.

Para configurarlo en tu proyecto, debes añadir el JunitXmlReporter mediante la configuración del proyecto.

class MyConfig : AbstractProjectConfig() {
override val extensions: List<Extension> = listOf(
JunitXmlReporter(
includeContainers = false, // don't write out status for all tests
useTestPathAsName = true, // use the full test path (ie, includes parent test names)
outputDir = "../target/junit-xml" // include to set output dir for maven
)
)
}

Además, el informe necesita conocer la ubicación de tu carpeta de salida mediante una propiedad del sistema. Gradle también debe configurarse para que no genere automáticamente informes XML de JUnit. Esto se configura en el bloque de pruebas de Gradle.

tasks.named<Test>("test") {
useJUnitPlatform()
reports {
junitXml.required.set(false)
}
systemProperty("gradle.build.dir", project.buildDir)
}

Parámetros

El reportero tiene tres parámetros:

  • includeContainers cuando es true, incluye todas las pruebas intermedias en el informe como pruebas independientes. Por defecto es false.

  • useTestPathAsName: cuando es true, utiliza la ruta completa de la prueba como nombre. Es decir, el nombre incluirá el de todas las pruebas padre como una única cadena.

  • outputDir: cuando se establece, los informes se generan en esta carpeta. El valor predeterminado es: test-results/test