Scala Hedgehog vs ScalaCheck
Scala Hedgehog
hedgehogqa.github.ioScalaCheck
scalacheck.orgSide by side
| Figure | Scala Hedgehog | ScalaCheck |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Property-Based Testing Tools | 7.7 (#11) | 8.0 (#8) |
| Purpose | Scala Hedgehog is a property-based testing system for Scala, in the spirit of QuickCheck and ScalaCheck. | ScalaCheck is a Scala library for automated property-based testing of Scala or Java programs. |
Plans
In their own words
Scala Hedgehog
Scala Hedgehog is a property-based testing system for Scala that generates values to check properties and can simplify failing cases while preserving the generated values’ invariants. Range combinators let developers set the scope of generated numbers and collections. For stateful software, its abstract state machine testing can model systems such as web services and database layers. The project includes an SBT test runner and integration modules for Minitest and MUnit; its documentation also describes Gradle support through a Scala plugin. Documented Scala versions are 2.12, 2.13 and 3.3 or later. Binary dependencies for its modules are published through Maven Central, and the core module has no external dependencies. Scala Hedgehog is free, with no paid plans listed. The project describes its release as early and says its API may change before wider adoption. IntelliJ’s Scala plugin does not list Hedgehog among its built-in test frameworks, though Properties tests can be run as applications. The getting-started documentation assumes SBT; SBT 1.9.1 and later support the testing extension by default, while earlier versions require a testFrameworks setting.
ScalaCheck
ScalaCheck is a free Scala library for automated property-based testing of Scala and Java programs. It checks defined properties against randomized input parameters and reports the arguments that produce a failure. The library supports parameterized cases and parallel execution, and can run on its own with a built-in test runner. For sbt projects, the site shows how to add it as a test dependency; it is also integrated with ScalaTest, specs2 and LambdaTest. ScalaCheck has no external dependencies beyond the Scala runtime. Build artifacts are published in the Central Repository, with an sbt dependency declaration available from the download page. Documentation includes a user guide and API reference. The site lists version 1.19.0, released September 6, 2025. The project identifies the BSD-3-Clause license and lists a security policy. Its build defines JVM, Scala.js and Scala Native platforms, and its README says the Gradle plugin supports Scala.js and Scala Native. The site names the Scala compiler and Akka among projects that use it.