EVERYTHING XIAOMI
Get listed

Racket QuickCheck

Racket QuickCheck is a free package for testing program specifications against randomly generated inputs.

Place
#5 of 28
Score
6.4
Racket QuickCheck's website

What Racket QuickCheck is

Racket QuickCheck is a free package for testing program specifications against randomly generated inputs. A property expresses a specification in ordinary Racket code; QuickCheck checks it with generated values and reports a counterexample when it fails. Its built-in generators cover integers, real numbers, characters, lists, vectors, strings, and symbols, and programmers can create custom generators. The default run checks 100 successful tests, with helpers for setting counts of 1,000, 10,000, or a custom number. 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 DrRacket’s GUI package manager. It requires Racket v6.0 or newer, and Racket offers installers for Linux, macOS, and Windows. The package listing reports a successful build and passing tests, while noting that license metadata is missing. Its documented workflow is intended for Racket programmers who want to check properties using generated inputs.

Good

  • Free Racket package.
  • Reports counterexamples when properties fail.
  • Includes built-in and custom generators.
  • Integrates with RackUnit.
  • Supports configurable test counts.

Watch out

  • Requires Racket v6.0 or newer.
  • Package listing notes missing license metadata.
  • Does not shrink failing cases.

Who it suits

QuickCheck suits Racket programmers who want to test program properties with generated inputs. It is designed to work with RackUnit as well as standalone property checks.

Verdict

QuickCheck offers property-based checks in ordinary Racket code, with generated values and counterexample reporting. Its Racket version requirement and lack of failing-case shrinking are worth noting.

Plans and prices

From Racket QuickCheck's own pricing page, checked 9 Oct 2026.

All about pricing
PlanPriceWhat it gives you
QuickcheckFreeRacket package; requires Racket v6.0 or newer

The facts

Each one read from Racket QuickCheck's own pages, with the date it was checked.

What it does

Authors
The package index lists Ismael Figueroa and Michael Sperber as authors.checked 9 Oct 2026
Build status
The package index reports that the latest listed build compiled successfully and its tests succeeded.checked 9 Oct 2026
Counterexamples
When a property fails, Quickcheck prints the arguments that falsified it along with other result information.checked 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.checked 9 Oct 2026
Default test count
The default configuration runs 100 tests, and the documentation provides settings for 1,000 and 10,000 tests.checked 9 Oct 2026
Generators
Built-in generators cover values including integers, real numbers, characters, lists, vectors, strings, and symbols.checked 9 Oct 2026
Installation
Install the package with `raco pkg install quickcheck` or through DrRacket’s GUI package manager.checked 9 Oct 2026
Intended users
The documented workflow is for Racket programmers who want to test program properties with generated inputs.checked 9 Oct 2026
Minimum version
The package requires Racket v6.0 or newer.checked 9 Oct 2026
Package authors
The package listing names Ismael Figueroa and Mike Sperber as authors.checked 9 Oct 2026
Package dependencies
The package index lists base, rackunit, doc-coverage, scribble-lib, and racket-doc as dependencies.checked 9 Oct 2026
Package metadata
The package index describes Quickcheck as a clone and shows missing license metadata.checked 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.checked 9 Oct 2026
Property checks
A property expresses a program specification in ordinary Racket code, and Quickcheck reports a counterexample if a check fails.checked 9 Oct 2026
Property testing
Properties are written in ordinary Racket code and checked against generated values.checked 9 Oct 2026
Purpose
Quickcheck tests program specifications by running properties against randomly generated test inputs.checked 9 Oct 2026
Racket requirement
The package requires Racket v6.0 or newer.checked 9 Oct 2026
RackUnit integration
The `rackunit/quickcheck` integration raises a RackUnit exception on failure and includes the test count and counterexample arguments.checked 9 Oct 2026
Support and community
The Racket site identifies Discourse and Discord as active community spaces and also lists Slack, Reddit, and mailing lists.checked 9 Oct 2026
Test configuration
The default configuration runs 100 successful tests, and helpers set counts of 1,000 or 10,000 tests or a custom count.checked 9 Oct 2026

Where it runs

Platform options
Racket’s download page lists Windows x64 and Arm, macOS Intel and Apple Silicon, and several Linux architectures.checked 9 Oct 2026
Supported platforms
The package listing says its build platform is any platform; Racket offers installers for Windows, macOS, and Linux.checked 9 Oct 2026
The full review of Racket QuickCheck

Overview

Racket QuickCheck is a free property-testing library for Racket programmers who want to check specifications against generated inputs. It fits best in Racket projects already using RackUnit; the lack of failing-case shrinking is its clearest limitation.

Rather than enumerate only hand-picked examples, a property states what should hold and QuickCheck exercises it with generated values. When a check fails, it reports the arguments that falsified the property, giving the programmer a reproducible direction for investigation.

Key features

Properties are written in ordinary Racket code, keeping the specification close to the program and avoiding a separate test language. The default run checks 100 successful cases; helpers raise that to 1,000 or 10,000, or allow a custom count. Larger samples can expose failures missed by a short run, but they remain samples rather than exhaustive coverage.

Built-in generators include integers, real numbers, characters, lists, vectors, strings, and symbols. Custom generators extend that range to values specific to an application, so the library can cover more than basic data types. The main debugging trade-off is that QuickCheck does not shrink a failing case: it prints the counterexample arguments, but does not reduce them to a smaller example.

For projects using RackUnit, the rackunit/quickcheck integration raises a RackUnit exception when a property fails and includes the test count and counterexample arguments. That makes property checks easier to incorporate into a RackUnit workflow, while teams using another runner should weigh that integration’s narrower fit.

Installation is through raco pkg install quickcheck or DrRacket’s GUI package manager. The package requires Racket v6.0 or newer. The Racket Package Index reports a successful latest build and passing tests; it also records missing license metadata, a point worth resolving for projects with license-review requirements.

Pricing

Quickcheck costs nothing. The free package includes property checks, built-in and custom generators, configurable test counts, and RackUnit integration; there is no paid tier or free-trial decision to make. Its practical costs are the Racket v6.0 minimum and the time needed to investigate unsimplified counterexamples.

Platforms

The package is listed for any platform, and Racket installers cover Windows, macOS, and Linux. Racket download options include Windows x64 and Arm, macOS Intel and Apple Silicon, and several Linux architectures. The package itself is for Racket, not a general-purpose testing tool for other languages.

Who it's for

Choose QuickCheck if you write Racket and want to express program properties in the language itself, especially if your project already runs RackUnit tests. It is less compelling if a minimal failing input is important to your debugging workflow, or if your project is not built around Racket.

Pros and cons

  • Pros: Ordinary Racket properties keep checks close to the code they describe.
  • Pros: Built-in generators cover common value types, while custom generators accommodate application-specific data.
  • Pros: Adjustable test counts and RackUnit exceptions make the library useful for different test-run sizes and existing RackUnit workflows.
  • Cons: No shrinking means counterexamples may take more work to diagnose.
  • Cons: Racket v6.0 or newer is required, so older installations cannot use it.
  • Cons: License metadata is missing from the package index, which complicates license checks.

Alternatives

If you want another free property-testing library for a different language or ecosystem, these options are worth considering:

  • Property-Based Testing Tools for a broader category comparison.
  • ScalaCheck is a free library choice for readers working in Scala rather than Racket.
  • FsCheck is a free option for readers whose projects use its NuGet packages.
  • Gopter is a free, MIT-licensed Go property-testing option.
  • fast-check is a free MIT-licensed choice for JavaScript projects.
  • JSVerify is a free option for JavaScript property testing.
  • Scala Hedgehog is a free alternative for Scala projects.
  • PropCheck is a free MIT-licensed Ruby gem for Ruby 2.5.1 or newer.
  • QCheck is a free BSD-2-Clause library for OCaml projects.

Verdict

Racket QuickCheck is a sound fit for Racket programmers who want generated-input property checks and RackUnit integration at no charge. Its ordinary-code properties and flexible generators are the main reasons to choose it; look elsewhere if you need failing-case shrinking or a library for another language.

Getting started

  1. Install Racket v6.0 or newer.
  2. Install QuickCheck with `raco pkg install quickcheck` or DrRacket’s GUI package manager.
  3. Write a property in ordinary Racket code.
  4. Run the property with QuickCheck’s generated inputs.
  5. Adjust the test count from the default 100 if needed.

Questions

How much does Racket QuickCheck cost?

The listed free plan costs nothing.

Which platforms are supported?

The package is listed for Linux, macOS, and Windows.

What Racket version does it require?

It requires Racket v6.0 or newer.

Which test counts can I use?

The default is 100 successful tests; settings are provided for 1,000, 10,000, or a custom count.

Does it support RackUnit?

Yes. The `rackunit/quickcheck` integration raises a RackUnit exception on failure and includes the test count and counterexample arguments.

Does QuickCheck shrink failing cases?

No; failing-case shrinking is not supported.

Alternatives to Racket QuickCheck

All alternatives
  1. 1fast-check logo

    fast-check

    Free planOpen sourceWebAPILinuxSelf-hosted
    7.1Free plan
  2. 2

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free plan
  3. 3

    Gopter

    Free planLinuxSelf-hosted
    6.4Free plan
  4. 4

    JSVerify

    Free planWebSelf-hosted
    6.4Free plan
  5. 5

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan
  6. 6

    QCheck

    Free planLinux
    6.0Free plan