Generate hundreds of test cases automatically, exposing even the most insidious of corner cases. Failures are automatically simplified, giving developers coherent, intelligible error messages.

Simplified Failures

Hedgehog shrinkers are composed automatically when you compose generators, so test failures are automatically simplified.

Range Control

Control the range of generators. Generate a number between 50 and 100 and have this invariant maintained even after shrinking.

State Machine Testing

Test stateful systems like web services, database layers, and even foreign calls to C. Expose race conditions in parallel mode.

Counterexample Diffs

Immediately see the difference between large data structures being compared for equality.

How do I use Hedgehog?

Get

Hedgehog

Haskell

build-depends: hedgehog
Download
Contribute

F# (and C#)

nuget install Hedgehog
Contribute

R

install.packages("hedgehog")
Download
Contribute

Scala

"hedgehog" %% "hedgehog-sbt"
            % "${commit}"
Download
Contribute