Skip to content
SPECIFICTION
Get listed

Scala Hedgehog

hedgehogqa.github.io

Free plan Linux

What it is

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.

Spec sheet

Purpose
Scala Hedgehog is a property-based testing system for Scala, in the spirit of QuickCheck and ScalaCheck.Read 4 Oct 2026 · hedgehogqa.github.io
Intended users
The project is for Scala developers who want property-based tests, including tests of stateful systems.Read 4 Oct 2026 · hedgehogqa.github.io
Automatic shrinking
Integrated shrinking simplifies failing test cases while preserving the invariants of generated values.Read 4 Oct 2026 · hedgehogqa.github.io
Availability
The project documents binary dependencies published through Maven Central, including core, runner, SBT, Minitest, and MUnit modules.Read 4 Oct 2026 · hedgehogqa.github.io
Build tools
The getting-started documentation assumes SBT and says Hedgehog is also supported for Gradle through a Scala plugin.Read 4 Oct 2026 · hedgehogqa.github.io
Core dependencies
The core module currently has no external dependencies.Read 4 Oct 2026 · hedgehogqa.github.io
Generator control
Range combinators control the scope of generated numbers and collections.Read 4 Oct 2026 · hedgehogqa.github.io
IDE limitation
The docs say the IntelliJ Scala plugin does not include Hedgehog among its hard-coded supported test frameworks; tests can be run as applications by extending Properties, with the test defined as an object.Read 4 Oct 2026 · hedgehogqa.github.io
Integrated shrinking
Its integrated shrinkers compose with generators, so shrunk values preserve their invariants by construction.Read 4 Oct 2026 · hedgehogqa.github.io
IntelliJ limitation
The docs say IntelliJ's Scala plugin does not list Hedgehog among its hard-coded supported test frameworks, and explain how to run Properties tests as an application instead.Read 4 Oct 2026 · hedgehogqa.github.io
Minitest integration
Scala Hedgehog lists Minitest as an available integration module.Read 4 Oct 2026 · hedgehogqa.github.io
MUnit integration
The hedgehog-munit module supports property-based and example-based Hedgehog tests in an MUnit test suite.Read 4 Oct 2026 · hedgehogqa.github.io
Range controls
Range combinators control the scope of generated numbers and collections.Read 4 Oct 2026 · hedgehogqa.github.io
Release status
The project describes itself as in an early release and says its API may break until wider adoption.Read 4 Oct 2026 · hedgehogqa.github.io
SBT runner
Hedgehog provides an sbt testing extension; sbt 1.9.1 and higher support it by default, while versions 1.9.0 and lower require a testFrameworks setting.Read 4 Oct 2026 · hedgehogqa.github.io
Scala compatibility
The documentation lists support for Scala 2.12, 2.13, and 3.3+.Read 4 Oct 2026 · hedgehogqa.github.io
Scala versions
The documented supported Scala versions are 2.12, 2.13, and 3.3+.Read 4 Oct 2026 · hedgehogqa.github.io
State testing
It supports abstract state machine testing for stateful systems.Read 4 Oct 2026 · hedgehogqa.github.io
Stateful testing
It supports abstract state machine testing for stateful systems such as web services and database layers.Read 4 Oct 2026 · hedgehogqa.github.io
Test integrations
Integration modules are available for Minitest and MUnit.Read 4 Oct 2026 · hedgehogqa.github.io
Test runner
The project includes an SBT test runner and supports SBT's testing extension.Read 4 Oct 2026 · hedgehogqa.github.io

Plans and prices

Scala Hedgehog Free Open-source Scala testing library · no paid plans listed Read 4 Oct 2026 · hedgehogqa.github.io

Every Scala Hedgehog plan and price →

Strong points and limits

Strong points

  • Shrinking preserves generated values’ invariants
  • Supports abstract state machine testing
  • Integrates with SBT, Minitest and MUnit
  • Core module has no external dependencies

Limits

  • Project describes its release as early
  • API may change before wider adoption
  • IntelliJ Scala plugin lacks built-in test framework support

Who it suits

Scala developers who want property-based tests, including tests of stateful systems, may find Scala Hedgehog relevant. It is suited to projects using SBT, Minitest or MUnit, with Gradle support documented through a Scala plugin.

Verdict

Scala Hedgehog provides property-based and stateful testing features, with integrations for several Scala testing setups. Its early-release status and IntelliJ limitation are worth considering before adopting it.

Where Specifiction places it

Alternatives to Scala HedgehogAll alternatives →