CsCheck vs ScalaCheck
CsCheck
github.comScalaCheck
scalacheck.orgSide by side
| Figure | CsCheck | ScalaCheck |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Property-Based Testing Tools | 8.0 (#6) | 8.0 (#8) |
| Installation | NuGet lists CsCheck 4.9.1 and documents installation with the .NET CLI package command and PackageReference. | The site recommends adding org.scalacheck %% scalacheck % 1.19.0 % test as an sbt dependency. |
Plans
In their own words
CsCheck
CsCheck is a free C# random testing library inspired by QuickCheck, intended for self-hosted use. Its composable Gen classes shrink generated cases automatically without Arb classes, and a shrunk case includes a seed that can reproduce a failure. The library supports random, model-based, metamorphic, performance, specification, regression, parallel and equality testing. Parallel tests compare outcomes with possible linearizations and support shrinking. Specification checks can enumerate reachable state spaces exhaustively or sample them, and can test whether declared faults are caught. Its Faster function statistically compares methods to assess whether one is faster and can run as a normal test across platforms. Example tests use TUnit, though the project says CsCheck 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 and installation instructions for the .NET CLI and PackageReference. The project notes that generic recursion limits AOT compatibility; its Dbg module is temporary and may change between minor versions.
ScalaCheck
ScalaCheck is a free Scala library for automated property-based testing of Scala and Java programs. It checks defined properties against randomized input parameters and reports the arguments that produce a failure. The library supports parameterized cases and parallel execution, and can run on its own with a built-in test runner. For sbt projects, the site shows how to add it as a test dependency; it is also integrated with ScalaTest, specs2 and LambdaTest. ScalaCheck has no external dependencies beyond the Scala runtime. Build artifacts are published in the Central Repository, with an sbt dependency declaration available from the download page. Documentation includes a user guide and API reference. The site lists version 1.19.0, released September 6, 2025. The project identifies the BSD-3-Clause license and lists a security policy. Its build defines JVM, Scala.js and Scala Native platforms, and its README says the Gradle plugin supports Scala.js and Scala Native. The site names the Scala compiler and Akka among projects that use it.