Skip to content
SPECIFICTION
Get listed

Gopter vs Scala Hedgehog

Gopter

github.com

Scala Hedgehog

hedgehogqa.github.io

Side by side

FigureGopterScala Hedgehog
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published21
Spec score · Property-Based Testing Tools8.6 (#2)7.7 (#11)
PurposeGopter is a Go property-testing library that brings ideas from ScalaCheck and QuickCheck to Go.Scala Hedgehog is a property-based testing system for Scala, in the spirit of QuickCheck and ScalaCheck.
Stateful testingGopter supports stateful tests.It supports abstract state machine testing for stateful systems such as web services and database layers.

Plans

Gopter

  • GopterFree
  • MIT-licensed packageFree

Gopter pricing →

Scala Hedgehog

  • Scala HedgehogFree

Scala Hedgehog pricing →

In their own words

Gopter

Gopter is a free Go module for property-based testing. It creates properties from conditions and generated inputs, then checks whether those properties hold. Its generators provide more control than Go's testing/quick package and can be composed with operations such as Map, FlatMap, SuchThat, and WithShrinker. When a property fails, shrinkers seek a smaller value that still demonstrates the failure. Gopter also includes a generator for regular-expression matches and supports stateful tests based on arbitrary commands. Properties can run with Go's testing.T through TestingRun, and the gopter/convey package provides helpers for using Gopter inside GoConvey tests. Console and formatted reporters present test results. The project declares Go 1.20 and is distributed under the MIT License. Its documentation covers the gopter, gen, prop, arbitrary, commands, and convey packages. The README identifies two omissions: ScalaCheck's Pretty feature is not provided, and parallel commands are not available yet.

Visit github.com

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