Skip to content
SPECIFICTION
Get listed

CsCheck vs scalaprops

CsCheck

github.com

scalaprops

github.com

Side by side

FigureCsCheckscalaprops
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Linux—Yes
Self-hostedYes—
Plans published11
Spec score · Property-Based Testing Tools8.0 (#6)7.0 (#22)

Plans

CsCheck

  • CsCheckFree

CsCheck pricing →

scalaprops

  • ScalapropsFree

scalaprops pricing →

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.

Visit github.com

scalaprops

Scalaprops is a free Scala property-based testing library for Linux. It generates test data, including non-constant scala.FunctionN values through Cogen, and lets each test define flexible parameters. Law checking is configurable, with identifiers that may use types other than String. Scalaz integration supplies laws plus Gen and Cogen instances for Scalaz types. Randomness uses an immutable generator rather than mutable scala.util.Random. Failed tests report their starting seed, which can be passed again with --seed= for repeatable runs. The README states support for Scala.js and Scala Native, using Mersenne Twister by default on JVM and Scala Native and Tiny Mersenne Twister on Scala.js. An sbt plugin adds scalapropsOnly selection by test class, method, and parameter. ScalapropsFramework and sbt are listed test runners. Parallel test execution is unsupported.

Visit github.com