Ir al contenido principal
Versión: 6.1

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 (comparador) 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 de tipo double sea mayor que cero. O puede comprobar que un archivo no esté vacío.

Actualmente, Kotest cuenta con aproximadamente 400 comparadores distribuidos en varios módulos. La mayoría de estos comparadores son para tipos de la biblioteca estándar. Otros son específicos de proyectos. Además, existen comparadores proporcionados por bibliotecas de terceros.

Los comparadores de Kotest son agnósticos con respecto al framework. Puedes utilizarlos con el framework Kotest o con cualquier otro framework, como JUnit.

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 están soportados. La ventaja del estilo de funciones de extensión es que el IDE puede autocompletar por ti, pero algunas personas pueden preferir el estilo infijo porque es un poco más limpio.

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

Módulos de comparadores de Kotest

Estos módulos proporcionan la experiencia básica 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-arrowProvides matchers for the Arrow functional programming library.Multiplatform
kotest-assertions-compilerProvides matchers that test for compilable code.JVM
kotest-assertions-jsonProvides matchers for testing JSON files.Multiplatform
kotest-assertions-ktorProvides matchers for Ktor server test and client libraries.Multiplatform
kotest-assertions-konformProvides matchers for Konform.Multiplatform
kotest-assertions-kotlinx-timeProvides matchers for Kotlin's date / time library.Multiplatform
kotest-assertions-ktorProvides matchers for Jetbrains' KTor HTTP library.Multiplatform
kotest-assertions-tableProvides backwards compatibility for the Kotest 4.x table test styleMultiplatform
kotest-assertions-yamlProvides matchers for testing YAML filesMultiplatform

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

Para añadir tu biblioteca a esta lista, por favor abre un PR.