qa-property-based

Property-based testing with Hypothesis (Python), fast-check (JS/TS), proptest (Rust) and jqwik (JVM): generators, shrinking, and CI integration. Agents (property-based-test-author, vacuous-property-critic) write one property per invariant and flag assume-heavy or always-true properties.

Install this plugin
/plugin install qa-property-based@testland-qa

First time? Add the marketplace with /plugin marketplace add testland/qa

View source (opens in a new tab)
Plugin
Version
v1.2.23
Contents
4 skills · 2 agents

Skills4

Agents2

About qa-property-based

Property-based testing for the QuickCheck-derived family. Per ISTQB: PBT is "a test approach in which test results are verified using specified relations between inputs and expected results of a test case." Each skill ships authoring + run + shrinking + CI integration for its language's canonical PBT library.

Choosing a library

One canonical property-based library per language - detect the language from the project root and pick the matching row:

Project signalLanguageLibrarySkill
package.json (with or without TypeScript)JavaScript / TypeScriptfast-checkfast-check-testing
pyproject.toml / setup.pyPythonHypothesishypothesis-testing
pom.xml / build.gradle*JVM (Java, Kotlin)jqwik (JUnit 5 platform-native - JUnit 4 doesn't run it; on Kotest, its built-in property module is the alternative)jqwik-testing
Cargo.tomlRustproptestproptest-testing

Languages outside this table (Haskell, Erlang, Elixir, Scala, Go, .NET, Ruby, Swift) are not covered by this plugin - look for language-native alternatives (QuickCheck ports, ScalaCheck, gopter, FsCheck, Rantly, SwiftCheck). A one-off "run the function with random inputs" ask is not a property - use a parameterized unit test; property-based testing earns its keep when there's a meaningful invariant (roundtrip, idempotence, conservation, monotonicity) to assert.