State-of-the-art property testing library for .NET with integrated shrinking and deterministic runs.
Hedgehog is a property-based testing library for .NET that automatically generates a wide range of test inputs and shrinks failures to minimal examples. It helps developers catch edge cases and ensure software reliability through automated, comprehensive testing.
.NET developers using F#, C#, or other .NET languages who want to implement rigorous, property-based testing in their projects.
Developers choose Hedgehog for its integrated shrinking that preserves invariants, deterministic test runs, and composable generators that work seamlessly with any .NET test framework.
Release with confidence, state-of-the-art property testing for .NET.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically reduces failing test cases to minimal examples while preserving invariants by construction, simplifying debugging as highlighted in the README.
Enables building structured and recursive data types from simple primitives, making test data generation flexible and maintainable using `gen` expressions.
Supports explicit seed control for reproducible test runs, crucial for consistent debugging and regression testing, as noted in the features.
Works with F#, C#, and other .NET languages, and integrates with any .NET test framework, increasing adoption flexibility per the GitHub description.
Requires a solid understanding of property-based testing principles, which can be a barrier for teams used to example-based testing, despite the concise generators.
The process of generating and shrinking numerous inputs can introduce significant overhead, slowing down test execution for complex properties or large data types.
While it supports C#, the documentation and examples are primarily focused on F#, making it less accessible for C#-first developers, as inferred from the project name and docs.