EVERYTHING XIAOMI
Get listed

CsCheck

CsCheck is a free C# library for random testing, inspired by QuickCheck and intended for self-hosted use.

Place
#11 of 28
Score
5.7
CsCheck's website

What CsCheck is

CsCheck is a free C# library for random testing, inspired by QuickCheck and intended for self-hosted use. Its composable Gen classes support automatic shrinking without Arb classes, and a seed from a shrunk case can help reproduce a failure. Testing options include random, model-based, metamorphic, performance, specification, regression, parallel, and equality tests. Parallel tests compare outcomes with possible linearizations and can shrink failures. Specification checks can enumerate a reachable state space exhaustively or sample it, and can check whether declared faults are caught. The Faster function statistically compares methods to assess which is faster and can run as a regular test across platforms. The README examples use TUnit, but the project says the library can be used with any testing framework. The project page reports more than 1,000 F# tests using CsCheck in MKL.NET. NuGet lists version 4.9.1, with .NET CLI and PackageReference installation instructions. The project notes that generic recursion limits AOT compatibility; its Dbg module is temporary and may change between minor versions.

Good

  • Shrinks failing cases and provides a seed for reproduction.
  • Supports model-based, metamorphic, and stateful testing.
  • Parallel tests compare results with possible linearizations.
  • Specification checks can enumerate or sample reachable states.
  • Free under Apache 2.

Watch out

  • Generic recursion limits AOT compatibility.
  • The Dbg API may change between minor versions.

Who it suits

CsCheck suits C# and F# developers who need property-style, stateful, or performance testing. It can be used with TUnit or other testing frameworks.

Verdict

CsCheck offers a broad set of testing styles, with shrinking and reproducible failure seeds. Its AOT limitation and the temporary status of Dbg are worth noting before relying on those areas.

Plans and prices

From CsCheck's own pricing page, checked 4 Oct 2026.

All about pricing
PlanPriceWhat it gives you
CsCheckFreeApache 2 · free forever

The facts

Each one read from CsCheck's own pages, with the date it was checked.

What it does

AOT caveat
The project says CsCheck is close to being AOT compatible but generic recursion is a limitation.checked 4 Oct 2026
Concurrency
Parallel testing compares results against possible linearizations and supports shrinking.checked 4 Oct 2026
Debug utility limitation
The Dbg module is described as temporary debug functionality whose API may change between minor versions.checked 4 Oct 2026
Framework support
The README says its example tests use TUnit but could equally be used in any testing framework.checked 4 Oct 2026
F# usage
The project page reports 1,000+ F# tests using CsCheck in MKL.NET.checked 4 Oct 2026
Generators
Its composable Gen classes support automatic shrinking without Arb classes.checked 4 Oct 2026
Installation
NuGet lists CsCheck 4.9.1 and documents installation with the .NET CLI package command and PackageReference.checked 4 Oct 2026
Logging
Sample supports logging types and pass and fail results for analysis, and the project includes a Tyche logging implementation.checked 4 Oct 2026
Performance testing
Its Faster function statistically compares whether one method is faster than another and can be run as a normal test across platforms.checked 4 Oct 2026
Product
CsCheck is a C# random testing library inspired by QuickCheck.checked 4 Oct 2026
Reproducibility
Shrunk cases have a seed value that can be used to reproduce a failure.checked 4 Oct 2026
Security and reflection
The project states that no reflection was used in making CsCheck.checked 4 Oct 2026
Specification checks
Specification testing can exhaustively enumerate a reachable state space or sample it, and can check whether declared faults are caught.checked 4 Oct 2026
Support and contributions
The README invites contributions through pull requests for new Gen classes or extensions.checked 4 Oct 2026
Testing styles
The library supports random, model-based, metamorphic, performance, specification, regression, parallel, and equality testing.checked 4 Oct 2026

Alternatives to CsCheck

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free plan
  3. 3

    Gopter

    Free planLinuxSelf-hosted
    6.4Free plan
  4. 4

    JSVerify

    Free planWebSelf-hosted
    6.4Free plan
  5. 5

    Racket QuickCheck

    Free planLinuxmacOSWindows
    6.4Free plan
  6. 6

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan