Skip to content

Latest commit

 

History

History
66 lines (51 loc) · 3.77 KB

property-based-testing.md

File metadata and controls

66 lines (51 loc) · 3.77 KB

More about Property-Based Testing

There is a lot of noise (and hype) about Property-Based Testing (PBT) out there. However, most of the stuff is in the context of functional programming languages.

Introductory Material

Patterns for PBT

Some of the common patterns used in PBT are described here.

More Videos Featuring PBT and jqwik

In reverse chronological order:

Alternative Tools for the JVM

There are a few alternatives to jqwik if you want to do PBT on the JVM:

  • JUnit-Quickcheck: Tightly integrated with JUnit 4, also uses annotations to configure generators.
  • QuickTheories: Unlike other systems QuickTheories supports both shrinking and targeted search using coverage data.
  • Vavr: The functional library also comes with a property-based testing module.
  • jetCheck: A property-based testing library for Java 8+. Works with any testing framework.
  • ScalaCheck: A mature property based testing system with shrinking and all, if you prefer Scala to Java.
  • test.check for Clojure: Inspired by QuickCheck. Since Clojure does not have static types generators must always be declared explicitly.
  • KotlinTest: Has some basic support for PBT. Currently, no shrinking yet.
  • Frege, a Haskell for the JVM, comes with a classical QuickCheck implementation. This section from Dierk König's Frege book provides a short introduction.

Please let me know if you learn about any other maintained library or tool.