Skip to content
SPECIFICTION
Get listed

RapidCheck

github.com

WindowsLinuxSelf-hosted
Visit github.com
Spec score 7.0 #21 of 28 in Property-Based Testing Tools

Spec sheet

What it does
RapidCheck is a C++ framework for property-based testing that generates random test data to find counterexamples to properties.Read 30 Sep 2026 · github.com
Purpose
RapidCheck is a C++ framework for property-based testing inspired by QuickCheck and similar frameworks.Read 30 Sep 2026 · github.com
Integrations
The README lists integrations with Boost Test, Google Test and Google Mock.Read 30 Sep 2026 · github.com
License
The repository identifies its license as BSD-2-Clause.Read 30 Sep 2026 · github.com
API stability
The User Guide says the API has not stabilized and may change at any time.Read 30 Sep 2026 · github.com
Build
RapidCheck uses CMake and can be added as a subdirectory to a CMake project.Read 30 Sep 2026 · github.com
Build requirements
RapidCheck uses CMake and requires a C++11-compliant compiler; the README lists Clang 3.5, GCC 4.9 and Visual Studio 2015 as CI compiler versions.Read 30 Sep 2026 · github.com
Catch integration
RapidCheck also documents basic integration with the Catch test library.Read 30 Sep 2026 · github.com
Counterexamples
When it finds a failing case, RapidCheck tries to shrink it to a smaller counterexample.Read 30 Sep 2026 · github.com
Documentation status
The User Guide says it is a work in progress and that some parts are still missing.Read 30 Sep 2026 · github.com
Features
The README lists imperative property definitions, test case shrinking, STL support including maps and sets, and combinators for creating generators.Read 30 Sep 2026 · github.com
Generators
RapidCheck includes generators for common types and combinators for building custom generators.Read 30 Sep 2026 · github.com
Limitations
The user guide says it is a work in progress, and the API has not stabilized and may change at any time.Read 30 Sep 2026 · github.com
Property checks
Properties are implemented as callables passed to rc::check, and RapidCheck repeatedly calls them with generated inputs.Read 30 Sep 2026 · github.com
Requirements
RapidCheck uses C++11 and requires a compliant compiler.Read 30 Sep 2026 · github.com
Shrinking
When a property fails, RapidCheck tries to find the smallest failing test case and displays it as a counterexample.Read 30 Sep 2026 · github.com
Stateful testing
The README describes stateful testing based on commands in the style of Erlang QuickCheck.Read 30 Sep 2026 · github.com
STL support
Built-in arbitrary-value generation supports types including vectors, maps, sets, tuples, pairs, strings and chrono types.Read 30 Sep 2026 · github.com
Test defaults
A property passes by default after 100 successful tests, and the number is configurable.Read 30 Sep 2026 · github.com
Test generation
It generates random test data to search for inputs that falsify a property.Read 30 Sep 2026 · github.com

Where Specifiction places it

Alternatives to RapidCheckAll alternatives →