EVERYTHING XIAOMI
Get listed

Scala Hedgehog

Scala Hedgehog is a free property-based testing system for Scala.

Place
#8 of 28
Score
6.0
Scala Hedgehog's website

What Scala Hedgehog is

Scala Hedgehog is a free property-based testing system for Scala. It generates values for checking properties and can shrink failing cases while preserving the invariants of generated values. Range combinators let developers constrain generated numbers and collections. For stateful software, its abstract state machine testing can be used with systems such as web services and database layers. The project provides 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. The project describes its release as early and says its API may change before wider adoption. The IntelliJ Scala plugin does not list Hedgehog among its built-in test frameworks, though Properties tests can be run as applications. SBT 1.9.1 and later support the testing extension by default; older versions require a testFrameworks setting.

Good

  • Shrinking simplifies failures while preserving value invariants.
  • Supports abstract state machine testing.
  • Integrates with SBT, Minitest, and MUnit.
  • Core module has no external dependencies.

Watch out

  • The project describes its release as early.
  • The API may change before wider adoption.
  • IntelliJ does not list it as a built-in test framework.

Who it suits

Scala Hedgehog is for Scala developers who want property-based tests, including tests for stateful systems. It may suit teams using SBT, Minitest, or MUnit.

Verdict

Scala Hedgehog offers property-based and stateful testing with integrated shrinking and several test-runner integrations. Its early release status and IntelliJ framework limitation are worth considering.

Plans and prices

From Scala Hedgehog's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Scala HedgehogFreeOpen-source Scala testing library · no paid plans listed

The facts

Each one read from Scala Hedgehog's own pages, with the date it was checked.

What it does

Automatic shrinking
Integrated shrinking simplifies failing test cases while preserving the invariants of generated values.checked 4 Oct 2026
Availability
The project documents binary dependencies published through Maven Central, including core, runner, SBT, Minitest, and MUnit modules.checked 4 Oct 2026
Build tools
The getting-started documentation assumes SBT and says Hedgehog is also supported for Gradle through a Scala plugin.checked 4 Oct 2026
Core dependencies
The core module currently has no external dependencies.checked 4 Oct 2026
Generator control
Range combinators control the scope of generated numbers and collections.checked 4 Oct 2026
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.checked 4 Oct 2026
Integrated shrinking
Its integrated shrinkers compose with generators, so shrunk values preserve their invariants by construction.checked 4 Oct 2026
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.checked 4 Oct 2026
Intended users
The project is for Scala developers who want property-based tests, including tests of stateful systems.checked 4 Oct 2026
Minitest integration
Scala Hedgehog lists Minitest as an available integration module.checked 4 Oct 2026
MUnit integration
The hedgehog-munit module supports property-based and example-based Hedgehog tests in an MUnit test suite.checked 4 Oct 2026
Purpose
Scala Hedgehog is a property-based testing system for Scala, in the spirit of QuickCheck and ScalaCheck.checked 4 Oct 2026
Range controls
Range combinators control the scope of generated numbers and collections.checked 4 Oct 2026
Release status
The project describes itself as in an early release and says its API may break until wider adoption.checked 4 Oct 2026
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.checked 4 Oct 2026
Scala compatibility
The documentation lists support for Scala 2.12, 2.13, and 3.3+.checked 4 Oct 2026
Scala versions
The documented supported Scala versions are 2.12, 2.13, and 3.3+.checked 4 Oct 2026
Stateful testing
It supports abstract state machine testing for stateful systems such as web services and database layers.checked 4 Oct 2026
State testing
It supports abstract state machine testing for stateful systems.checked 4 Oct 2026
Test integrations
Integration modules are available for Minitest and MUnit.checked 4 Oct 2026
Test runner
The project includes an SBT test runner and supports SBT's testing extension.checked 4 Oct 2026

Alternatives to Scala Hedgehog

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free plan
  3. 3

    Gopter

    Free planLinuxSelf-hosted
    6.4Free plan
  4. 4

    JSVerify

    Free planWebSelf-hosted
    6.4Free plan
  5. 5

    Racket QuickCheck

    Free planLinuxmacOSWindows
    6.4Free plan
  6. 6

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan