Racket QuickCheck vs SwiftCheck
Racket QuickCheck
docs.racket-lang.orgSwiftCheck
github.comSide by side
| Figure | Racket QuickCheck | SwiftCheck |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | Yes |
| Linux | Yes | — |
| iOS | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Property-Based Testing Tools | 8.2 (#4) | 6.5 (#27) |
| Counterexamples | When a property fails, Quickcheck prints the arguments that falsified it along with other result information. | When a generated test case fails, SwiftCheck shrinks the data toward a minimal counterexample. |
| Generators | Built-in generators cover values including integers, real numbers, characters, lists, vectors, strings, and symbols. | The library provides generator combinators for choosing values, filtering generated values, and composing generators. |
| Installation | Install the package with `raco pkg install quickcheck` or through DrRacket’s GUI package manager. | The README describes installation through Swift Package Manager, Carthage, CocoaPods, or by adding the Xcode project as a framework dependency. |
| Property testing | Properties are written in ordinary Racket code and checked against generated values. | Its `forAll` quantifier lets tests express properties that should hold across generated inputs. |
| Purpose | Quickcheck tests program specifications by running properties against randomly generated test inputs. | SwiftCheck is a Swift testing library that automatically generates random data to test program properties. |
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.