Ir al contenido principal
Versión: 5.5.x

Comparadores

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

Un Matcher es el término que utiliza Kotest para referirse a una aserción que realiza una prueba específica. Por ejemplo, un comparador puede verificar que un valor double sea mayor que cero, o que un archivo no esté vacío.

Kotest cuenta actualmente con aproximadamente 325 comparadores distribuidos en varios módulos. La mayoría de estos comparadores están diseñados para tipos de la biblioteca estándar, mientras que otros son específicos de proyectos. Además, existen comparadores proporcionados por bibliotecas de terceros.

Los comparadores de Kotest son agnósticos al framework. Puedes utilizarlos tanto con el framework Kotest como con cualquier otro framework. Si prefieres seguir usando JUnit, igualmente puedes aprovechar los potentes comparadores de los módulos de aserciones de Kotest.

Los comparadores pueden utilizarse en dos estilos diferentes:

  • Funciones de extensión como a.shouldBe(b) o a.shouldStartWith("foo")

  • Funciones infijas como a shouldBe b o a should startWith("foo")

Ambos estilos son compatibles. La ventaja del estilo de funciones de extensión es que el IDE puede ofrecer autocompletado, mientras que algunas personas prefieren el estilo infijo por su mayor limpieza sintáctica.

Los comparadores pueden negarse usando shouldNot en lugar de should en el estilo infijo. Por ejemplo: a shouldNot startWith("boo"). En el estilo de funciones de extensión, cada función tiene una versión negada equivalente, como a.shouldNotStartWith("boo").

Módulos de comparadores de Kotest

Estos módulos proporcionan la experiencia central de comparadores. Están alojados en el repositorio principal de Kotest y se publican con la misma cadencia que el framework Kotest.

ModuleDescriptionType
kotest-assertions-coreProvides matchers for standard libary types.Multiplatform
kotest-assertions-collectionsProvides matchers for Collection, Iterable, and Array types.Multiplatform
kotest-assertions-jsonProvides matchers for testing json objects.JVM
kotest-assertions-kotlinx-timeProvides matchers for Kotlin's date / time library.Multiplatform
kotest-assertions-sqlProvides matchers for JDBC.JVM
kotest-assertions-ktorProvides matchers for Ktor server test and client libraries.Multiplatform

Módulos externos de comparadores de Kotest

Estos módulos pertenecen a la organización Kotest pero se encuentran en repositorios separados del proyecto principal. Se publican con una cadencia independiente del framework Kotest y proporcionan comparadores para bibliotecas de terceros.

ModuleDescriptionType
kotest-assertions-arrowProvides matchers for the Arrow functional programming library.JVM
kotest-assertions-compilerProvides matchers that test for compilable code.JVM
kotest-assertions-klockProviders matchers for Klock.Multiplatform
kotest-assertions-konformProvides matchers for Konform.Multiplatform
kotest-assertions-jsoupProvides matchers JSoup.JVM

Comparadores de la comunidad

Esta es una lista de proyectos que ofrecen comparadores para Kotest. Están mantenidos fuera de la organización Kotest.

LibraryDescription
AndroidToolbox for working with Kotest and Android
Http4kFunctional toolkit for Kotlin HTTP applications
MicronautJVM-based, full-stack framework for building modular, easily testable microservice