Racket QuickCheck vs RapidCheck
Racket QuickCheck
docs.racket-lang.orgRapidCheck
github.comSide by side
| Figure | Racket QuickCheck | RapidCheck |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Property-Based Testing Tools | 8.2 (#4) | 7.0 (#21) |
| Counterexamples | When a property fails, Quickcheck prints the arguments that falsified it along with other result information. | When it finds a failing case, RapidCheck tries to shrink it to a smaller counterexample. |
| Generators | Built-in generators cover values including integers, real numbers, characters, lists, vectors, strings, and symbols. | RapidCheck includes generators for common types and combinators for building custom generators. |
| Property checks | A property expresses a program specification in ordinary Racket code, and Quickcheck reports a counterexample if a check fails. | Properties are implemented as callables passed to rc::check, and RapidCheck repeatedly calls them with generated inputs. |
| Purpose | Quickcheck tests program specifications by running properties against randomly generated test inputs. | RapidCheck is a C++ framework for property-based testing inspired by QuickCheck and similar frameworks. |
Plans
In their own words
Racket QuickCheck
Racket QuickCheck is a free package for checking program properties with generated inputs. A property is written as ordinary Racket code, and the package runs it against generated values; if a check fails, it reports a counterexample and the arguments that produced it. Its default configuration runs 100 successful tests, and helpers allow counts of 1,000, 10,000, or a custom number. Built-in generators cover integers, real numbers, characters, lists, vectors, strings, and symbols, and custom generators are supported. The `rackunit/quickcheck` integration raises a RackUnit exception when a check fails and includes the test count and counterexample arguments. Install the package with `raco pkg install quickcheck` or through DrRacket’s GUI package manager. It requires Racket v6.0 or newer. Racket provides installers for Linux, macOS, and Windows. The package listing reports a successful build and passing tests, while also noting missing license metadata. The listed price is free.