RapidCheck
github.com
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
- Property-Based Testing Tools#21 of 287.0