jqwik

August 22, 2020 ยท View on GitHub

jqwik is a property-based library for the JVM. It's implemented as a test enginge for the JUnit 5 platform.

jqwik's Shrinking Approach

jqwik derives shrinking behaviour directly from a generator's specification. That means that users get shrinking for free if they just compose the built-in generators (aka arbitraries).

jqwik also goes for Integrated Shrinking, which means that all constraints from value generation are also considered during shrinking.

Implemented Challenges

ChallengeCodeReport
bound5Bound5Properties.javabound5.md
large union listLargeUnionListProperties.javalarge_union_list.md
reverseReverseProperties.javareverse.md
calculatorCalculatorProperties.javacalculator.md
length listLengthListProperties.javalengthlist.md
differenceDifferenceProperties.javadifference_must_not_be_zero.md
difference_must_not_be_one.md
difference_must_not_be_small.md
binheapBinheapProperties.javabinheap.md
couplingCouplingProperties.javacoupling.md
deletionDeletionProperties.javadeletion.md
distinctDistinctProperties.javadistinct.md
nestedlistsNestedListsProperties.javanestedlists.md

Running examples

You need Java >= 11.

cd pbt-libraries/jqwik
./gradlew test