Skip to content
SPECIFICTION
Get listed

fast-check vs QuickCheck

fast-check

fast-check.dev

QuickCheck

hackage.haskell.org

Side by side

Figurefast-checkQuickCheck
Price fromFreeFree
Free planYesYes
Free trial——
Open sourceYes—
WebYes—
LinuxYesYes
APIYes—
Self-hostedYes—
Plans published11
Spec score · Property-Based Testing Tools8.9 (#1)7.3 (#16)
Purposefast-check is a property-based testing library for JavaScript and TypeScript that generates inputs, runs assertions over many cases, and shrinks failures to smaller counterexamples.QuickCheck is a Haskell library for random testing of program properties by checking specifications against randomly generated cases.

Plans

fast-check

  • fast-checkFree

fast-check pricing →

QuickCheck

  • QuickCheckFree

QuickCheck pricing →

In their own words

fast-check

fast-check is a property-based testing library for JavaScript and TypeScript. It generates inputs and checks expected behavior across many cases, then reduces a failure to a smaller counterexample to help investigate it. Tests combine arbitraries that create values, properties that describe behavior, runners that execute checks, and plugins that extend runners. It works with Jest, Mocha, Vitest, Ava, Bun, Deno, the Node.js test runner, and other test runners. Runs can be configured with seeds, generated-value sizes, time limits, and result reporting globally or per assertion. fast-check supports stateful testing and reproducible failures; its project also describes fuzzing and generative testing for issues such as race conditions and prototype poisoning. The project is open source under the MIT license, and the listed plan is free. Version 5.x requires Node.js 22.12.0 or later and ECMAScript 2025; TypeScript 5.8 or later is optional.

Visit fast-check.dev

QuickCheck

QuickCheck is a free Haskell library for testing program properties against randomly generated cases. Developers write specifications with QuickCheck combinators and can use combinators to define test-data generators and inspect generated-data distributions. It supports stateful testing, reproducible failures and shrinking failing cases. Monadic property testing is provided through the Test.QuickCheck.Monadic module. The package README describes adding QuickCheck to project dependencies for use in tests or a REPL. A companion package, quickcheck-instances, supplies instances for types in Haskell Platform packages, with additional dependencies. QuickCheck is licensed under BSD-3-Clause and lists dependencies including base, containers, random, splitmix, template-haskell and transformers. Hackage reports it tested with GHC versions from 8.10 up to but not including 9.15, as well as Hugs. A make-hugs script creates a Hugs-compatible version and may be useful for other non-GHC implementations. Hackage lists QuickCheck-2.18.0.0 as a downloadable Cabal source package. The listed package plan costs nothing.

Visit hackage.haskell.org