Power Assert
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Power Assert
El soporte para Power Assert se introdujo en Kotest 6.0, mejorando los mensajes de error de las aserciones al mostrar información detallada sobre los valores de cada parte de una expresión cuando falla una aserción. Esto facilita entender por qué falló una aserción sin necesidad de añadir declaraciones de depuración adicionales.
Cómo funciona
Cuando falla una aserción, Power Assert muestra los valores de cada parte de la expresión en el mensaje de error, dejando claro qué salió mal. Esto es especialmente útil para expresiones complejas con llamadas a métodos o cadenas de acceso a propiedades.
Por ejemplo, considera esta aserción:
val hello = "Hello"
val world = "world!"
hello.substring(1, 3) shouldBe world.substring(1, 4)
Sin Power Assert, el mensaje de error sería simplemente:
expected:<"orl"> but was:<"el">
Con Power Assert activado, el mensaje de error se vuelve mucho más informativo:
hello.substring(1, 3) shouldBe world.substring(1, 4)
| | | |
| | | orl
| | world!
| el
Hello
expected:<"orl"> but was:<"el">
Esta salida detallada muestra los valores de cada parte de la expresión, dejando claro de inmediato lo que ocurre:
helloes "Hello"hello.substring(1, 3)es "el"worldes "world!"world.substring(1, 4)es "orl"
Configuración
Power Assert se implementa como un plugin del compilador de Kotlin que forma parte de Kotlin 2.0+. Para usarlo con Kotest tienes dos opciones.
Con el plugin de Gradle
Si usas Kotest 6.2 o superior y el plugin de Gradle de Kotest está habilitado, este configurará Power Assert automáticamente cuando sea necesario.
- Añade el plugin de Gradle de Kotest a tu build:
plugins {
id("io.kotest") version "<kotest-version>"
}
- Configura el plugin de Gradle de Kotest para activar Power Assert:
kotest {
enablePowerAssert = true
}
Añadir el plugin manualmente
- Añade el plugin Power Assert a tu build:
plugins {
id("org.jetbrains.kotlin.plugin.power-assert") version "<kotlin-version>"
}
- Añade la biblioteca de aserciones a tus dependencias:
dependencies {
testImplementation("io.kotest:kotest-assertions-core:<kotest-version>")
}
- Configura qué funciones de aserción deben mejorarse con Power Assert, que en este caso son los matchers
shouldBede Kotest:
powerAssert {
functions = listOf("io.kotest.matchers.shouldBe")
}