Skip to content
SPECIFICTION
Get listed

Hypothesis vs Scala Hedgehog

Hypothesis

hypothesis.works

Scala Hedgehog

hedgehogqa.github.io

Side by side

FigureHypothesisScala Hedgehog
Price from—Free
Free plan—Yes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Plans published01
Spec score · Property-Based Testing Tools7.4 (#15)7.7 (#11)
Intended usersHypothesis is for people writing software tests who want to describe acceptable behavior and have the computer explore inputs.The project is for Scala developers who want property-based tests, including tests of stateful systems.
Stateful testingRule-based state machines let Hypothesis generate sequences of operations to test stateful systems and objects.It supports abstract state machine testing for stateful systems such as web services and database layers.

Plans

Hypothesis

No plans published.

Hypothesis pricing →

Scala Hedgehog

  • Scala HedgehogFree

Scala Hedgehog pricing →

In their own words

Hypothesis

Hypothesis is a free property-based testing library for Python. You describe behavior that your code should satisfy, and it generates inputs—including edge cases—to explore whether those properties hold. Strategies let you define and combine the data used in tests. When a failure appears, Hypothesis reports an example and tries to simplify it; failing examples are stored in a local test database for replay in later runs. Tests run as ordinary Python functions within pytest, unittest, nose, or another framework that can run a Python function. Hypothesis is not itself a test runner. By default, it generates 100 random inputs per test, and max_examples controls that count. Rule-based state machines can generate sequences of operations for testing stateful systems and objects. The project supports and tests CPython and PyPy 3.10 and later, and says it regularly works on Linux, macOS, Windows, and Emscripten. Its compatibility policy supports only the newest Hypothesis version; undocumented behavior may change in patch releases.

Visit hypothesis.works

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