{"repo":"flyingmutant/rapid","free":true,"listed":false,"github":"https://github.com/flyingmutant/rapid","clone":"git clone https://github.com/flyingmutant/rapid.git","description":"Rapid is a modern Go property-based testing library","language":"Go","stars":867,"topics":["golang","testing","property-based-testing","property-testing","quickcheck","fuzzing"],"license":"MPL-2.0","category":"dev-tools","readme_excerpt":"rapid [![PkgGoDev][godev-img]][godev] [![CI][ci-img]][ci] Rapid is a Go library for property-based testing. Rapid checks that properties you define hold for a large number of automatically generated test cases. If a failure is found, rapid automatically minimizes the failing test case before presenting it. Features - Imperative Go API with type-safe data generation using generics - Data generation biased to explore \"small\" values and edge cases more thoroughly - Fully automatic minimization of failing test cases - Persistence and automatic re-running of minimized failing test cases - Support for state machine (\"stateful\" or \"model-based\") testing - No dependencies outside the Go standard library If you like rapid but are looking for a Rust alternative, check out chaos theory . Examples Here is what a trivial test using rapid looks like (playground): More complete examples: - ParseDate function test: source code, playground - Queue state machine test: source code, playground Comparison Rapid aims to bring to Go the power and convenience Hypothesis brings to Python. Compared to testing.F.Fuzz, rapid shines in generating complex structured data, including state machine tests, but lacks coverage-guided feedback and mutations. Note that with MakeFuzz , any rapid test can be used as a fuzz target for the standard fuzzer. Compared to gopter, rapid provides a much simpler API (queue test in rapid vs gopter), is much smarter about data generation and is able to minimize failing test c","default_branch":null,"files":null,"tree":[],"storefront":"/r/flyingmutant","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/flyingmutant/rapid/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}