Suggestions appear as you type. Use the up and down arrows to choose one and Enter to open it.

This page's audience our own tag's counts — open to see them
–Visits
–Page views
–Clicks to vendors
–Time on page
–Reading now
Clicks to vendors, by tool
  • –
Top countries
  • –
Devices
  • –

– · visits, page views and clicks counted by our own tag, which counts more than our checked analytics; every figure rounded down · how we count

FSharp.Hedgehog review

Free#12 of 27 in Property-Based Testing Tools

A focused open-source choice for F# and C# teams using xUnit V3.

8.2/10Editor score
FSharp.Hedgehog8.2 Try FSharp.Hedgehog

Reviewed by iTechGuides Editors · Editorial team · Updated Oct 2026

FSharp.Hedgehog is an open-source property-based testing library for .NET. It generates varied inputs for properties, then automatically shrinks failing inputs to smaller counterexamples. The library is intended for developers testing F#, C#, and other .NET code, with F# computation expressions and C# LINQ-based syntax. Its generator model supports structured and recursive data, numeric and collection ranges, automatic generation for common .NET types, and invariant-preserving generators.

For debugging and repeatability, FSharp.Hedgehog combines integrated shrinking with explicit seed control. A failing run can be reproduced deterministically through its seed controls, while shrink trees help developers inspect how a failing input was reduced. These capabilities fit teams that want property-based tests to produce understandable counterexamples rather than only varied test data. Composable generators also allow test inputs to be assembled for more structured domains, including recursive data.

The ecosystem fit is focused: the published integration is with xUnit V3, and the category positioning identifies its verified runner coverage as narrower than higher-ranked .NET options. That makes FSharp.Hedgehog a practical choice for F# and C# teams already using xUnit V3 and looking for generator composition, shrinking, and reproducible failures in an open-source library. Teams needing broader verified test-runner coverage should consider a .NET property-based testing option with wider runner support instead.

FSharp.Hedgehog pros and cons

  • Where it wins
    • Shrinks failing inputs to minimal counterexamples
    • Supports composable and invariant-preserving generators
    • Provides explicit seed control and shrink trees for debugging
  • Where it doesn't
    • Test runner integration is focused on xUnit V3
    • Its verified runner coverage is narrower than some .NET options
    • The focus is on F# and C# within the .NET ecosystem

FSharp.Hedgehog fact sheet, pricing and score →

Advertiser disclosure: iTechGuides is reader-supported. Vendors can pay for top positions in our rankings and for a place on other products' pages, and we may earn a commission when you click some links. Bought places stand at the number bought; this page and our disclosure say so. Paying vendors may get a fuller, more detailed review from our editors, and that review can change their score. How we rank.

Last updated · How we research and update