Best Property-Based Testing Tools in 2026

In short: Gopter is ranked #1 of 27 as of 4 October 2026, ahead of Hypothesis and fast-check. The best-ranked option with a free plan is fast-check.

Generated inputs let property-based testing tools explore how software behaves across many cases. Compared on supported languages and test runner support, the entries also distinguish themselves through cases per run, failing-case shrinking, reproducible failures and stateful testing. Free-plan availability and “Paid from” details add cost information to consider. Gopter, Hypothesis and fast-check are among the options shown. When comparing, weigh the languages and runners in your workflow alongside how you want to examine a failure, reproduce it and test stateful behavior.

27 property-based testing tools ranked on what their makers publish — plans and prices, free tiers, platforms and the facts on their own pages.

27ranked
6free plans on this page
4 Oct 2026last checked
Input list Property-Based Testing Tools 25 channels on this page · 126 of 200 spec lines stated by the makers
Ch Tool Free planPaid fromSupported languagesTest runner supportFailing-case shrinkingStateful testingReproducible failuresCases per run Spec sheet Score
01 Gopter Free planYesPaid fromnot statedSupported languagesGoTest runner supportGo testing package; GoConveyFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 7.0
02 Hypothesis Free planYesPaid fromnot statedSupported languagesPythonTest runner supportpytest, unittestFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.9
03 fast-check Free planYesPaid fromnot statedSupported languagesJavaScript, TypeScriptTest runner supportJest, Mocha, Vitest, Ava, Bun, Deno, Node.js test runnerFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.8
04 QuickCheck Free planYesPaid fromnot statedSupported languagesHaskellTest runner supportTest.SmallCheck.DriversFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.8
05 Scala Hedgehog Free planYesPaid fromnot statedSupported languagesScala, JavaTest runner supportsbt, Minitest, MUnitFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.8
06 CsCheck Free planYesPaid fromnot statedSupported languagesC#, F#Test runner supportTUnit; any testing frameworkFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.6
07 RapidCheck Free planYesPaid fromnot statedSupported languagesC++Test runner supportBoost Test, Google Test, Google Mock, Catch.hppFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.6
08 Proptest Free planYesPaid fromnot statedSupported languagesRustTest runner supportRust test harness ([test]); TestRunnerFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.5
09 Rapid Free planYesPaid fromnot statedSupported languagesGoTest runner supportGo testing package; go testFailing-case shrinkingYesStateful testingYesReproducible failuresYesCases per runnot stated 6/8spec lines stated 6.5
10 SwiftCheck Free planYesPaid fromnot statedSupported languagesSwiftTest runner supportXCTestFailing-case shrinkingYesStateful testingnot statedReproducible failuresnot statedCases per runnot stated 4/8spec lines stated 5.8
11 Eris Free planYesPaid fromnot statedSupported languagesPHPTest runner supportPHPUnitFailing-case shrinkingYesStateful testingnot statedReproducible failuresYesCases per run100 cases 6/8spec lines stated 5.7
12 JSVerify Free planYesPaid fromnot statedSupported languagesJavaScript, TypeScriptTest runner supportMocha, nodeunit, JasmineFailing-case shrinkingYesStateful testingNoReproducible failuresYesCases per runnot stated 6/8spec lines stated 5.7
13 StreamData Free planYesPaid fromnot statedSupported languagesElixirTest runner supportExUnitFailing-case shrinkingYesStateful testingNoReproducible failuresYesCases per runnot stated 6/8spec lines stated 5.7
14 FSharp.Hedgehog Free planYesPaid fromnot statedSupported languagesF#, C#Test runner supportxUnit V3Failing-case shrinkingYesStateful testingnot statedReproducible failuresYesCases per runnot stated 5/8spec lines stated 5.6
15 PropCheck Free planYesPaid fromnot statedSupported languagesRubyTest runner supportRSpec, MiniTest, test-unitFailing-case shrinkingYesStateful testingNoReproducible failuresnot statedCases per runnot stated 5/8spec lines stated 5.6
16 PropEr Free planYesPaid fromnot statedSupported languagesErlangTest runner supportEUnit, Common TestFailing-case shrinkingYesStateful testingYesReproducible failuresnot statedCases per runnot stated 5/8spec lines stated 5.6
17 QCheck Free planYesPaid fromnot statedSupported languagesOCamlTest runner supportQCheck base runner, QCheck runner, OUnit, AlcotestFailing-case shrinkingYesStateful testingYesReproducible failuresnot statedCases per runnot stated 5/8spec lines stated 5.6
18 QuickTheories Free planYesPaid fromnot statedSupported languagesJavaTest runner supportJUnit, TestNG, and other test frameworksFailing-case shrinkingYesStateful testingnot statedReproducible failuresYesCases per runnot stated 5/8spec lines stated 5.6
19 test.check Free planYesPaid fromnot statedSupported languagesClojure, ClojureScriptTest runner supportclojure.test, cljs.testFailing-case shrinkingYesStateful testingnot statedReproducible failuresYesCases per runnot stated 5/8spec lines stated 5.6
20 Plausible Free planYesPaid fromnot statedSupported languagesLean 4Test runner supportLean 4 tactic frameworkFailing-case shrinkingYesStateful testingnot statedReproducible failuresnot statedCases per runnot stated 4/8spec lines stated 5.5
21 Racket QuickCheck Free planYesPaid fromnot statedSupported languagesRacketTest runner supportRackUnitFailing-case shrinkingNoStateful testingnot statedReproducible failuresnot statedCases per runnot stated 4/8spec lines stated 5.5
22 Rantly Free planYesPaid fromnot statedSupported languagesRubyTest runner supportTest::Unit, Minitest, RSpecFailing-case shrinkingYesStateful testingnot statedReproducible failuresnot statedCases per runnot stated 4/8spec lines stated 5.5
23 scalaprops Free planYesPaid fromnot statedSupported languagesScalaTest runner supportScalapropsFramework, sbtFailing-case shrinkingnot statedStateful testingnot statedReproducible failuresYesCases per runnot stated 4/8spec lines stated 5.5
24 FsCheck Free planYesPaid fromnot statedSupported languagesF#, C#, VBTest runner supportnot statedFailing-case shrinkingnot statedStateful testingnot statedReproducible failuresnot statedCases per runnot stated 2/8spec lines stated 5.2
25 ScalaCheck Free planYesPaid fromnot statedSupported languagesScala, JavaTest runner supportnot statedFailing-case shrinkingnot statedStateful testingnot statedReproducible failuresnot statedCases per runnot stated 2/8spec lines stated 5.2

Is your tool on this list?

Numbered spots on this list can be sponsored. They are labelled, and the editorial order and scores never change for payment.

Questions about this list

Which property-based testing tool is ranked first on Specifiction?

Gopter is ranked #1 of 27 with a score of 7.0. Hypothesis is second and fast-check third.

How many of these have a free plan?

6 of the 25 on this page publish a free plan on their own pricing pages.

How is this list ranked?

Ranked on what each maker publishes, the fullest spec sheet first: how deeply the product is documented, the platforms it runs on, a free tier or trial to test it, and its standing. Paid placements never change a rank.

More in Developer Tools

All developer tools lists