Ir al contenido principal
Versión: 6.0

Power Assert

[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 →

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:

  • hello es "Hello"

  • hello.substring(1, 3) es "el"

  • world es "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 6.0:

  1. Añade el plugin Power Assert a tu build:
plugins {
kotlin("jvm") version "2.2.0"
id("org.jetbrains.kotlin.plugin.power-assert") version "2.2.0"
}
  1. Configura qué funciones de aserción deben potenciarse con Power Assert:
powerAssert {
functions = listOf("io.kotest.matchers.shouldBe")
}