ExUnit vs Kotest
ExUnit
hexdocs.pmKotest
kotest.ioSide by side
| Figure | ExUnit | Kotest |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Unit Testing Frameworks | 8.3 (#4) | 7.9 (#15) |
| Spec score · Unit Testing | 8.2 (#6) | 7.9 (#12) |
| Assertions | ExUnit.Assertions provides macros that generate assertions with appropriate error messages. | Kotest provides over 350 matchers, plus collection inspectors, soft assertions and utilities for non-deterministic code. |
| Test execution | ExUnit starts tests and can run them automatically before the VM terminates. | Its DSL supports parameterized and data driven tests, conditional evaluation, lifecycle callbacks and parallelism. |
| What it does | ExUnit is a unit testing framework for Elixir. | Kotest is a multiplatform Kotlin testing framework with assertions, property testing and expressive test styles. |
Plans
In their own words
Kotest
Kotest is a Kotlin testing framework for JVM and Kotlin Multiplatform projects, with test styles, assertions and property testing. Its styles allow natural-language test names and unlimited nesting. The DSL supports parameterized and data-driven tests, conditional evaluation, lifecycle callbacks and parallel execution. The assertion library includes over 350 matchers, collection inspectors, soft assertions and utilities for non-deterministic code. Property tests can generate hundreds or thousands of inputs, and property testing is supported across all targets. Listed targets include JVM, JavaScript, Native, Wasm and Android unit and instrumented tests; Native includes Linux, Windows, iOS and macOS. Setup instructions cover Gradle, Maven and Kotlin Multiplatform projects. Integrations include Spring, Koin, Ktor, Allure, Testcontainers, WireMock and Micronaut. An IntelliJ plugin provides test run icons, editor results, a test explorer, structure highlighting and breadcrumbs. Kotest is free, with a free plan and no free trial. Its assertions library can also be used with JUnit, Spock or another test framework.