Kotest External Extensions

Kotest integrates with many other libraries and frameworks. Some are provided by the Kotest team, while others are maintained and hosted by third parties.

The extensions introduced here are separate library-based extensions, distinct from the Listeners included in io.kotest.core and described in the framework section.

Kotest Team Extensions

Project Description
Allure Provides output for the Allure framework.
HTML Reporter Generates an HTML report of test results based on JUnit XML.
Instant Overrides the now context in java.time.
JUnit XML Provides output in JUnit XML format for integration with tools.
Ktor Provides matchers for Ktor endpoints.
Koin Kotlin DI framework.
Mockserver Integrates a mock HTTP server with the test lifecycle.
Spring Adds support for Spring beans in tests and Spring test annotations.
System Provides utilities for integration with System.* functions.
Testcontainers Runs Docker images as part of the test lifecycle.
Wiremock Provides an HTTP server. See the project homepage here.

Third Party Extensions

Project Description
Android Toolbox for working with Kotest and Android.
FluentLenium Integration between Kotest and FluentLenium.
H2 Database Extension Integration between Kotest and the H2 database.
Http4k Feature toolkit for Kotlin HTTP applications.
Kotless Utilities for Kotest and Kotless.
KotlinFixture Generates well-defined but random inputs by default.
LogCapture Test library for asserting logging messages.
Micronaut JVM-based full-stack Micronaut framework for building modular microservices that are easy to test.
Result4s Result4s matchers.
Selfie Self snapshot testing, including inline, disk, and memoized snapshots.
Sniffy Network connection testing.
TestFiles Structured file and directory creation for tests.

References