# kotest/kotest

Powerful, elegant and flexible test framework for Kotlin with assertions, property testing and data driven tests.

Repository: https://github.com/kotest/kotest
Canonical: https://ross.abutalabs.com/products/kotest
Homepage: https://kotest.io
Language: Kotlin
License: Apache-2.0
License Family: permissive
Topics: kotlin, matchers, assertions, testing, test, testing-tools, property-testing, multiplatform, kotlin-js, kotlin-multiplatform
Last push: 2026-08-14T01:36:29+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 97, longevity 100
- inputs: {"age_days": 3930, "days_push": 20, "days_rel": 22, "gap_med": 9.0, "n_releases_24m": 33}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4787, forks 700 (observed 2026-08-28T04:08:59.822085+00:00)

## What it is
Kotest is a comprehensive, multiplatform testing framework for Kotlin offering a flexible test DSL, over 350 assertion matchers, and integrated property-based testing. It supports JVM, JS, Native, Wasm, and Android targets and integrates with JUnit Platform, Gradle, IntelliJ, and many third-party frameworks.

## Use cases
- write unit tests in kotlin
- property based testing for kotlin functions
- data driven tests with many parameter combinations
- fluent assertions library for kotlin
- run kotlin multiplatform tests on jvm js and native
- snapshot testing in kotlin
- integrate spring or testcontainers with kotlin tests

## When to choose
- you are writing Kotlin or Kotlin Multiplatform code and want a full-featured test framework
- you need property-based testing with generators and shrinking
- you want expressive assertions usable even with JUnit or Spock
- you need data-driven or parameterized tests with parallelism and timeouts

## When to avoid
- your project is pure Java with no Kotlin toolchain
- you need a language-agnostic test runner outside the JVM/Kotlin ecosystem
- you only need a minimal test runner and prefer plain JUnit without extra DSL

## Facets
- artifact type: library
- maturity: active
- function: testing, e2e-testing, mocking
- domain: testing, developer-tools, programming-languages
- platform: jvm, browser, cross-platform, editor-plugin
- tags: kotlin, kotlin-multiplatform, assertions, property-based-testing, data-driven-testing, junit-platform, intellij-plugin, android

## Member repositories
- kotest/kotest (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:59.822085+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:18:42.213048+00:00, confidence not recorded.
  - readme: https://github.com/kotest/kotest (fetched 2026-08-28T04:08:59.822085+00:00, sha e489bb32f2e7)
  - homepage: https://kotest.io (fetched 2026-08-29T09:01:57.842848+00:00, sha 817bfa79ef30)
  - site_page: https://kotest.io/docs/quickstart (fetched 2026-08-29T09:01:57.851667+00:00, sha 2f17f0c32303)
  - site_page: https://kotest.io/docs/framework/framework.html (fetched 2026-08-29T09:01:57.853591+00:00, sha aa1ec6841e31)
  - site_page: https://kotest.io/docs/extensions/extensions.html (fetched 2026-08-29T09:01:57.855140+00:00, sha 8ade316dbae7)
  - site_page: https://kotest.io/docs/assertions/assertions.html (fetched 2026-08-29T09:01:57.857017+00:00, sha 1923583ec26d)
  - site_page: https://kotest.io/docs/proptest/property-based-testing.html (fetched 2026-08-29T09:01:57.858769+00:00, sha 38f16181f6bb)
  - site_page: https://kotest.io/docs/intellij/intellij-plugin.html (fetched 2026-08-29T09:01:57.860630+00:00, sha 3d43d76f3574)
  - site_page: https://kotest.io/docs/ai/ai-skills.html (fetched 2026-08-29T09:01:57.862175+00:00, sha 0bbc3660e1f6)
  - site_page: https://kotest.io/docs (fetched 2026-08-29T09:01:57.863880+00:00, sha 1ecf29006b94)
- Data as of 2026-08-30T08:39:29.467469+00:00.
