Skip to content
SPECIFICTION
Get listed

Scala Hedgehog vs scalaprops

Scala Hedgehog

hedgehogqa.github.io

scalaprops

github.com

Side by side

FigureScala Hedgehogscalaprops
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Plans published11
Spec score · Property-Based Testing Tools7.7 (#11)7.0 (#22)
PurposeScala Hedgehog is a property-based testing system for Scala, in the spirit of QuickCheck and ScalaCheck.Scalaprops is a property-based testing library for Scala.

Plans

Scala Hedgehog

  • Scala HedgehogFree

Scala Hedgehog pricing →

scalaprops

  • ScalapropsFree

scalaprops pricing →

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.

Visit hedgehogqa.github.io

scalaprops

Scalaprops is a free Scala property-based testing library for Linux. It generates test data, including non-constant scala.FunctionN values through Cogen, and lets each test define flexible parameters. Law checking is configurable, with identifiers that may use types other than String. Scalaz integration supplies laws plus Gen and Cogen instances for Scalaz types. Randomness uses an immutable generator rather than mutable scala.util.Random. Failed tests report their starting seed, which can be passed again with --seed= for repeatable runs. The README states support for Scala.js and Scala Native, using Mersenne Twister by default on JVM and Scala Native and Tiny Mersenne Twister on Scala.js. An sbt plugin adds scalapropsOnly selection by test class, method, and parameter. ScalapropsFramework and sbt are listed test runners. Parallel test execution is unsupported.

Visit github.com