EVERYTHING XIAOMI
Get listed

Proptest

Proptest is a free property testing framework for Rust.

Place
#23 of 28
Score
5.4
Proptest's website

What Proptest is

Proptest is a free property testing framework for Rust. It generates values from strategies and can simplify a failing input to a minimal test case that reproduces the problem. Strategies are defined for individual values, which supports flexible composition, and the framework includes a substantial strategy library. It also supports state-machine testing for systems such as database APIs and client-server interactions. Failed cases can be saved for replay in later runs; optional fork and timeout features run tests in subprocesses and limit execution time. The default requirement for a passing test is 256 successful cases. Proptest is feature-complete and mainly receives passive volunteer maintenance. Its minimum supported Rust version is 1.88. Partial no_std support requires a nightly compiler with alloc or std for memory allocation, and does not include failure persistence, forking, or regex-dependent features. WebAssembly compilation is highly experimental, with little substantial testing; i128 and u128 numeric strategies are unavailable on those targets. The repository contains Apache-2.0 and MIT licenses.

Good

  • Shrinks failures into minimal reproducing cases.
  • Supports state-machine testing.
  • Persists failures for later replay.
  • Includes optional forking and timeouts.

Watch out

  • Maintenance is mainly passive and volunteer-based.
  • no_std support requires a nightly compiler.
  • no_std builds lack persistence and forking.
  • WebAssembly support is highly experimental.

Who it suits

Proptest may suit Rust developers who want generated tests, minimized failure cases, or state-machine testing. Those needing no_std or WebAssembly support should account for the listed limitations.

Verdict

Proptest provides generation, shrinking, and state-machine testing for Rust, with persisted failures and optional subprocess features. Its maintenance model and constraints on no_std and WebAssembly are important considerations.

The facts

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

What it does

Default test count
The default number of successful test cases required for a test to pass is 256.checked 1 Oct 2026
Failure minimization
When a failure is found, Proptest automatically finds a minimal test case that reproduces it.checked 1 Oct 2026
Failure persistence
Failing cases are persisted under a proptest-regressions directory and replayed in later test runs.checked 1 Oct 2026
Forking and timeouts
Optional fork and timeout features run test cases in subprocesses and limit their execution time.checked 1 Oct 2026
Generation model
Generation and shrinking are defined per value rather than per type, which enables flexible composition.checked 1 Oct 2026
Input generation
Generation and shrinking are defined per value rather than per type.checked 1 Oct 2026
Licensing
The repository contains Apache-2.0 and MIT licenses.checked 1 Oct 2026
Maintenance model
Proptest is maintained on a volunteer basis.checked 1 Oct 2026
Maintenance status
The crate is feature-complete and mainly receives passive maintenance.checked 1 Oct 2026
Minimal cases
When a failure is found, Proptest automatically finds the minimal test case that reproduces it.checked 1 Oct 2026
no_std limitations
The no_std build does not provide failure persistence, forking, or features depending on crates such as regex.checked 1 Oct 2026
No-std limits
Failure persistence, forking, and regex support are unavailable in the no_std build.checked 1 Oct 2026
no_std support
Proptest has partial no_std support and requires a nightly compiler with alloc or std for memory allocation.checked 1 Oct 2026
Purpose
Proptest is a property testing framework for Rust inspired by Python’s Hypothesis framework.checked 1 Oct 2026
Rust version
The current minimum supported Rust version is 1.88.checked 1 Oct 2026
Strategies
A strategy generates random values and shrinks them into simpler forms, and Proptest ships with a substantial strategy library.checked 1 Oct 2026
Support
Bug reports and questions are welcome through the project repository, and contributors are asked to include Rust version, Proptest version, and relevant operating-system details.checked 1 Oct 2026
WebAssembly
Proptest can compile for WebAssembly targets, but this support is highly experimental and has had little substantial testing.checked 1 Oct 2026
WebAssembly limits
On WebAssembly targets, numeric strategies for i128 and u128 are unavailable.checked 1 Oct 2026

Where it runs

State-machine testing
Proptest supports state-machine testing for systems such as database APIs and client-server interactions.checked 1 Oct 2026

Alternatives to Proptest

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

    Racket QuickCheck

    Free planLinuxmacOSWindows
    6.4Free plan
  6. 6

    FsCheck

    Free planLinuxmacOSWindows
    6.3Free plan