
Test Framework
The Kotest test framework supports multiple test styles with unlimited nesting, natural language test names, and coroutine support at every level.
The out of the box DSL provides support for parameterized tests, data-driven testing, conditional evaluation, test lifecycle callbacks, extensive parallelism and more.
Read more

Multiplatform Support
Kotest is fully multiplatform with support for JVM, JS, Native (Linux, Windows, iOS, macOS, tvOS, watchOS), Wasm, and Android unit and instrumented tests.
Multiplatform support leverages the existing Kotlin Gradle tasks for seamless integration into the Kotlin ecosystem.
Read more

Powerful Assertions
The assertions library provides over 350 rich assertions to verify code state with fluent, expressive, and idiomatic Kotlin syntax.
It comes equipped with collection inspectors, non-determistic utilities, grouped assertion support, support for power-assertion and extensions for Arrow, JSON, kotlinx-datetime and more.
Read more

Property Testing
The property testing module uses Kotlin's powerful DSL support to create succinent and powerful property based tests.
It supports generating values for over 100 types, failure shrinking, compose and extend generators, exhaustive checks, repeatable random seeds, coverage metrics, and more.
Read more

Third Party Extensions
Many projects in the Kotlin and JVM ecosystem have Kotest integration available, such as Spring, Koin, Test Containers, Blockhound, Micronaut and more.
It is easy to add your own integration using Kotest's extensive extensibility model.
Read more