- Home
- Property-Based Testing Tools
- Racket QuickCheck
Racket QuickCheck
What it is
Racket QuickCheck is a free Racket package for checking program specifications with randomly generated inputs. Developers write properties in ordinary Racket code, then QuickCheck runs those properties against generated values and reports counterexamples when checks fail. The default configuration performs 100 successful tests, with helpers for 1,000, 10,000, or custom counts. 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 on failure and includes the test count and counterexample arguments. Install it with `raco pkg install quickcheck` or through DrRacket’s package manager. Racket v6.0 or newer is required. Racket provides installers for Windows, macOS, and Linux. The package index lists base, rackunit, doc-coverage, scribble-lib, and racket-doc as dependencies. It reports a successful build and passing tests, while also noting missing license metadata.
For and against
For
- Free Racket package
- Generates varied test inputs
- Supports custom generators
- Reports failing counterexamples
- Integrates with RackUnit
Against
- Requires Racket v6.0 or newer
- Missing license metadata is noted
- Supports Racket only
- No failing-case shrinking
The verdict
Racket QuickCheck adds property-based checks and generated inputs to Racket workflows. Its version requirement, Racket-only scope, and missing license metadata are important considerations.
Who it suits
QuickCheck is for Racket programmers who want to test properties using generated inputs. It suits projects that use RackUnit or need configurable test counts and counterexamples.
Plans and prices
Quickcheck
Racket package; requires Racket v6.0 or newer
Read 9 Oct 2026 · docs.racket-lang.org
On the record
- Authors
- The package index lists Ismael Figueroa and Michael Sperber as authors.pkgs.racket-lang.org · read 9 Oct 2026
- Build status
- The package index reports that the latest listed build compiled successfully and its tests succeeded.pkgs.racket-lang.org · read 9 Oct 2026
- Counterexamples
- When a property fails, Quickcheck prints the arguments that falsified it along with other result information.docs.racket-lang.org · read 9 Oct 2026
- Custom generators
- The library supports custom generators and includes generators for values such as integers, real numbers, characters, lists, vectors, strings, and symbols.docs.racket-lang.org · read 9 Oct 2026
- Default test count
- The default configuration runs 100 tests, and the documentation provides settings for 1,000 and 10,000 tests.docs.racket-lang.org · read 9 Oct 2026
- Generators
- Built-in generators cover values including integers, real numbers, characters, lists, vectors, strings, and symbols.docs.racket-lang.org · read 9 Oct 2026
- Installation
- Install the package with `raco pkg install quickcheck` or through DrRacket’s GUI package manager.docs.racket-lang.org · read 9 Oct 2026
- Intended users
- The documented workflow is for Racket programmers who want to test program properties with generated inputs.docs.racket-lang.org · read 9 Oct 2026
- Minimum version
- The package requires Racket v6.0 or newer.docs.racket-lang.org · read 9 Oct 2026
- Package authors
- The package listing names Ismael Figueroa and Mike Sperber as authors.pkgs.racket-lang.org · read 9 Oct 2026
- Package dependencies
- The package index lists base, rackunit, doc-coverage, scribble-lib, and racket-doc as dependencies.pkgs.racket-lang.org · read 9 Oct 2026
- Package metadata
- The package index describes Quickcheck as a clone and shows missing license metadata.pkgs.racket-lang.org · read 9 Oct 2026
- Package status
- The Racket Package Index lists the package build as successful and its tests as passing, and notes missing license metadata.pkgs.racket-lang.org · read 9 Oct 2026
- Platform options
- Racket’s download page lists Windows x64 and Arm, macOS Intel and Apple Silicon, and several Linux architectures.download.racket-lang.org · read 9 Oct 2026
- Property checks
- A property expresses a program specification in ordinary Racket code, and Quickcheck reports a counterexample if a check fails.docs.racket-lang.org · read 9 Oct 2026
- Property testing
- Properties are written in ordinary Racket code and checked against generated values.docs.racket-lang.org · read 9 Oct 2026
- Purpose
- Quickcheck tests program specifications by running properties against randomly generated test inputs.docs.racket-lang.org · read 9 Oct 2026
- Racket requirement
- The package requires Racket v6.0 or newer.docs.racket-lang.org · read 9 Oct 2026