Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Property-Based Testing Tools
  3. Rapid

Rapid

What it is

Rapid is a free, self-hosted Go library for property-based testing. It checks user-defined properties against automatically generated test cases, using type-safe generic generators that favor small values and edge cases. When a failure occurs, Rapid minimizes the failing case before presenting it, and it can persist minimized failures for automatic reruns. The library supports state machine testing and includes MakeFuzz, which lets a Rapid test serve as a target for Go’s standard fuzzing tool. Tests run with the standard go test command. Configuration is available through -rapid flags or corresponding RAPID_ environment variables. Rapid has no dependencies beyond the Go standard library and is licensed under the Mozilla Public License Version 2.0. The project states that tests should continue working across future releases within the same major version, subject to listed API-change exceptions. Rapid describes itself as suited to structured data and state-machine tests, but it does not provide coverage-guided feedback or mutations.

For and against

For

  • Free open-source Go library
  • Automatic shrinking of failing cases
  • Persists and reruns minimized failures
  • Supports state machine testing
  • No dependencies outside Go standard library

Against

  • Supports Go only
  • Lacks coverage-guided feedback
  • Lacks mutation-based fuzzing
  • Requires self-hosted setup

The verdict

Rapid provides focused property-based testing within Go’s standard testing workflow. Its generators, failure minimization, persistence, and state-machine support are useful, while its fuzzing approach omits coverage guidance and mutations.

Who it suits

Rapid suits Go developers who want generated property tests, minimized failures, reproducible reruns, or state-machine coverage. It is particularly relevant when structured data matters more than coverage-guided fuzzing.

Plans and prices

Rapid

Free

Open-source Go library · No dependencies outside the Go standard library

Every plan, in full

On the record

Automatic minimization
When a failure is found, Rapid automatically minimizes the failing test case before presenting it.github.com · read 3 Oct 2026
Comparison limit
Compared with Go's testing.F.Fuzz, Rapid describes itself as better suited to structured data and state machine tests, while lacking coverage-guided feedback and mutations.github.com · read 3 Oct 2026
Configuration
Rapid's options can be set with flags prefixed -rapid. or corresponding RAPID_ environment variables.github.com · read 3 Oct 2026
Data generation
Its type-safe generators use generics and bias data generation toward small values and edge cases.github.com · read 3 Oct 2026
Dependencies
Rapid has no dependencies outside the Go standard library.github.com · read 3 Oct 2026
Failure persistence
Rapid supports persisting minimized failing test cases and automatically rerunning them.github.com · read 3 Oct 2026
Fuzzing integration
The MakeFuzz function lets a Rapid test be used as a fuzz target for Go's standard fuzzer.github.com · read 3 Oct 2026
License
Rapid is licensed under the Mozilla Public License Version 2.0.github.com · read 3 Oct 2026
Stability
The project says tests should continue to work across future releases with the same major version, subject to stated API-change exceptions.github.com · read 3 Oct 2026
Stateful testing
Rapid supports state machine testing.github.com · read 3 Oct 2026
Usage
Rapid tests run with the standard go test command.github.com · read 3 Oct 2026
What it does
Rapid is a Go library for property-based testing that checks user-defined properties against automatically generated test cases.github.com · read 3 Oct 2026

Alternatives to Rapid

Every alternative, ranked