ScalaCheck is a mature, well-crafted library for automated property-based testing in Scala. It provides a rich set of generators (Gen), property combinators (Prop), implicit arbitrary instances (Arbitrary), and shrinking (Shrink) for test case minimization. The library supports stateful testing via the Commands API and includes a deterministic PRNG (Seed). It is cross-compiled for JVM, JavaScript, and Native platforms, and integrates seamlessly with sbt's test framework. The codebase is clean, well-structured, and extensively tested, with active maintenance by the Typelevel organization.
Kotest is a comprehensive, multiplatform testing framework for Kotlin, providing a rich assertion library, property-based testing, multiple spec styles (FunSpec, StringSpec, WordSpec, etc.), a modular test engine, and extensive extension system (Spring, Testcontainers, Allure, etc.). It includes IntelliJ IDEA plugin for gutter icons, test navigation, and run configurations, as well as Gradle plugin for build integration. The framework is well-architected with clean abstractions like the Matcher interface, Arb/Gen combinators, and test execution interceptors, though some deprecated APIs and experimental features indicate ongoing evolution.