Comparadores
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)oa.shouldStartWith("foo")Funciones infijas como
a shouldBe boa 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.
| Module | Description | Type |
|---|---|---|
| kotest-assertions-core | Provides matchers for standard libary types. | Multiplatform |
| kotest-assertions-arrow | Provides matchers for the Arrow functional programming library. | Multiplatform |
| kotest-assertions-compiler | Provides matchers that test for compilable code. | JVM |
| kotest-assertions-json | Provides matchers for testing JSON files. | Multiplatform |
| kotest-assertions-ktor | Provides matchers for Ktor server test and client libraries. | Multiplatform |
| kotest-assertions-konform | Provides matchers for Konform. | Multiplatform |
| kotest-assertions-kotlinx-time | Provides matchers for Kotlin's date / time library. | Multiplatform |
| kotest-assertions-ktor | Provides matchers for Jetbrains' KTor HTTP library. | Multiplatform |
| kotest-assertions-table | Provides backwards compatibility for the Kotest 4.x table test style | Multiplatform |
| kotest-assertions-yaml | Provides matchers for testing YAML files | Multiplatform |
Comparadores de la comunidad
Esta es una lista de proyectos que ofrecen comparadores para Kotest. Están mantenidos fuera de la organización Kotest.
| Library | Description |
|---|---|
| Android | Toolbox for working with Kotest and Android |
| Http4k | Functional toolkit for Kotlin HTTP applications |
| Micronaut | JVM-based, full-stack framework for building modular, easily testable microservice |
Para añadir tu biblioteca a esta lista, por favor abre un PR.