FREEDOM251

Freedom251 › Property-Based Testing Tools

FSharp.Hedgehog

Free plan LinuxMacWindows

Visit FSharp.Hedgehog Alternatives

FSharp.Hedgehog's own site

What FSharp.Hedgehog is

FSharp.Hedgehog is a free property-based testing library for .NET. It generates inputs for properties, helping developers explore cases that may not appear in a hand-picked set of examples. It can be used from F#, C#, and other .NET languages, and is compatible with any .NET test framework; xUnit V3 is also listed as supported.

When a property fails, Hedgehog reduces the generated input to a smaller counterexample while keeping it within the generator’s invariants. Generators can be combined to describe structured or recursive data, while range combinators control the size and growth of generated numbers and collections. Explicit seeds let developers make runs deterministic, and shrink trees are available for debugging. A documentation example shows a property passing 100 tests.

The library provides F# computation expressions and supports LINQ syntax for generators and properties. It runs on Linux, macOS, and Windows. The project is available through GitHub under the Apache License 2.0, with Issues and Discussions for support. Its listed pricing is free, with a free plan and no trial.

Who it suits

FSharp.Hedgehog suits .NET developers writing property-based tests in F#, C#, or another .NET language. It is especially relevant when tests need generated structured data, smaller failure examples, or reproducible runs.

What it does well

  • Works with any .NET test framework, including xUnit V3.
  • Shrinks failures while preserving generator invariants.
  • Composes generators for structured and recursive data.
  • Controls generated ranges for numbers and collections.
  • Explicit seeds support deterministic runs.
  • Available on Linux, macOS, and Windows.

What to know first

  • No free trial is offered.
  • The project pages do not give a platform-specific installation method.

Getting started

  1. Visit the project on GitHub.
  2. Choose F#, C#, or another .NET language for your tests.
  3. Use Hedgehog with a .NET test framework; xUnit V3 is listed as supported.
  4. Consult the repository's Issues or Discussions for project support.

Verdict

Choose FSharp.Hedgehog if you want a free .NET property-testing library with integrated shrinking and reproducible runs. Developers who need a stated installation route will need to consult the project pages for guidance.

Questions

How much does FSharp.Hedgehog cost?

It is free, with a free plan.

Is there a free trial?

No.

Which languages can use it?

F#, C#, and other .NET languages.

Which test frameworks does it support?

It works with any .NET test framework; xUnit V3 is also listed.

Is FSharp.Hedgehog open source?

The repository is licensed under Apache License 2.0.

Which platforms does it support?

Linux, macOS, and Windows.

Facts from FSharp.Hedgehog's own pages

Debugging
The project lists shrink trees as available for debugging. · github.com, 8 Oct 2026
Deterministic runs
The repository lists explicit seed control for deterministic test runs. · github.com, 8 Oct 2026
Example test count
The documentation example reports a property passing 100 tests. · hedgehogqa.github.io, 8 Oct 2026
Failure shrinking
When a property fails, Hedgehog simplifies the failing input to find a smaller counterexample. · hedgehogqa.github.io, 8 Oct 2026
Generators
It includes generators for primitive values and composable operations for building generators for complex types. · hedgehogqa.github.io, 8 Oct 2026
Installation
The opened project pages do not state a download or platform-specific installation method. · github.com, 8 Oct 2026
Integrated shrinking
When a property fails, Hedgehog shrinks the failing input to a smaller counterexample while preserving the generated values’ invariants. · hedgehogqa.github.io, 8 Oct 2026
Intended users
The project describes the library as property-based testing for .NET developers writing tests in F#, C#, or other .NET languages. · github.com, 8 Oct 2026
Invariant preserving
Its integrated shrinking keeps shrunk values within the invariants of the generators. · hedgehogqa.github.io, 8 Oct 2026
Languages
The repository says Hedgehog can be used from F#, C#, or other .NET languages. · github.com, 8 Oct 2026
License
The repository license is Apache License 2.0. · github.com, 8 Oct 2026
Purpose
Hedgehog is a property-based testing system for .NET that automatically generates inputs to help find edge cases. · hedgehogqa.github.io, 8 Oct 2026
Range control
Range combinators control the scope and growth of generated numeric and collection values. · hedgehogqa.github.io, 8 Oct 2026
Reproducibility
Runs can be made deterministic using explicit seed control. · github.com, 8 Oct 2026
Security
The opened project pages provide no security or compliance claims. · github.com, 8 Oct 2026
Support
The repository exposes GitHub Issues and Discussions for the project. · github.com, 8 Oct 2026
Supported languages
The project says it can be used from F#, C#, and other .NET languages. · github.com, 8 Oct 2026
Syntax
Hedgehog provides F# computation expressions and supports LINQ syntax for generators and properties. · hedgehogqa.github.io, 8 Oct 2026
Test framework compatibility
Hedgehog works with any .NET test framework. · github.com, 8 Oct 2026
Test frameworks
The repository says Hedgehog works with any .NET test framework. · github.com, 8 Oct 2026

Where FSharp.Hedgehog stands on Freedom251

Look at these too