Primeros pasos con las extensiones de Allure Kotlin
Las extensiones de Allure Kotlin le permiten añadir pasos, metadatos y adjuntos a sus reportes de prueba de Allure Report con una API más adecuada para Kotlin: funciones de nivel superior con argumentos nombrados y valores predeterminados, pasos que devuelven valores y pasos que funcionan con coroutines.
Las extensiones no ejecutan sus pruebas. Funcionan junto con una integración de Allure Java para su framework de pruebas, como Allure JUnit Jupiter o Allure TestNG, y llaman a la misma API en tiempo de ejecución que usan las pruebas Java. La clase Allure original sigue disponible.
Hay dos módulos:
allure-kotlin-extensions- la API de Kotlin para pasos, metadatos, adjuntos y errores globales.allure-kotlin-coroutines- pasos que pueden suspenderse, y una forma de pasar la prueba actual a coroutines que se ejecutan en otros hilos. Este módulo incluyeallure-kotlin-extensions.
Las extensiones de Allure Kotlin están disponibles en Allure Java 3.0.0 y versiones posteriores. Requieren Java 17 o posterior y Kotlin 2.3 o posterior.
INFO
Las extensiones de Allure Kotlin son parte de Allure Java. No están relacionadas con Allure Kotlin, un proyecto independiente para pruebas de Android.
Configuración
Asegúrese de tener habilitada la integración de Allure Report para el framework de pruebas que utiliza.
Consulte las instrucciones en la documentación de la integración en Frameworks.
Añada las extensiones de Allure Kotlin a las dependencias de su proyecto. Si sus pruebas usan coroutines, use
allure-kotlin-coroutinesen lugar deallure-kotlin-extensions, para obtener pasos suspendibles y mantener los pasos de las coroutines en la prueba correcta.xml<!-- Defina la versión de Allure que desea usar mediante la propiedad allure.version --> <properties> <allure.version>VERSION</allure.version> </properties> <!-- Agregue allure-bom a la gestión de dependencias para garantizar que se usen las versiones correctas de todas las dependencias --> <dependencyManagement> <dependencies> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-bom</artifactId> <version>${allure.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-kotlin-extensions</artifactId> <scope>test</scope> </dependency> </dependencies>ktsval allureVersion = "VERSION" dependencies { testImplementation(platform("io.qameta.allure:allure-bom:$allureVersion")) testImplementation("io.qameta.allure:allure-kotlin-extensions") }groovydef allureVersion = "VERSION" dependencies { testImplementation platform("io.qameta.allure:allure-bom:$allureVersion") testImplementation "io.qameta.allure:allure-kotlin-extensions" }Importe las funciones que necesite desde
io.qameta.allure.kotlin.extensionsy úselas en sus pruebas.El siguiente ejemplo muestra las extensiones de Allure Kotlin en una prueba de JUnit Jupiter.
kotlinimport io.qameta.allure.kotlin.extensions.attachment import io.qameta.allure.kotlin.extensions.feature import io.qameta.allure.kotlin.extensions.parameter import io.qameta.allure.kotlin.extensions.step import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test class TestOrders { @Test fun testCreateOrder() { feature("Orders") val region = parameter("region", "eu-west") val orderId = step("Create order") { val id = createOrder(region) name("Create order $id") id } step("Check the order status") { val status = loadStatus(orderId) attachment(name = "status", content = status) assertEquals("created", status) } } }Consulte la referencia para ver todas las funciones disponibles.
Ejecute sus pruebas y genere un reporte de prueba de la forma habitual.