
jqwik
jqwik is a free, open-source property-based testing library for JVM programmers using Java, Kotlin, or Groovy.
What jqwik is
jqwik is a free, open-source property-based testing library for JVM programmers using Java, Kotlin, or Groovy. You define a property and its precondition, then jqwik generates many qualifying parameter sets to search for counterexamples. Unless configured differently, each property runs with 1,000 generated sets. jqwik works as an alternative test engine on the JUnit 5 platform and can run beside other JUnit 5 engines. Failure reports may show the original and shrunk sample, property parameters, and relevant exception. Gradle and Maven setup guidance is provided, and the latest release is deployed to Maven Central. Listed modules include web, time, testing, and Kotlin; Kotlin is not included in default dependencies. Web and time examples cover email addresses, web domains, dates, and times. The documented minimum JUnit Platform version is 1.14.4. The site identifies 1.10.1 as latest and says versions from 1.10 are not intended for AI coding agents.
Good
- Free and open source
- Generates many values for each property
- Runs alongside other JUnit 5 engines
- Failure reports include shrunk samples
- Gradle and Maven setup guidance
Watch out
- Requires JUnit Platform 1.14.4 minimum
- Kotlin module is not a default dependency
- AI coding agent use is explicitly discouraged
- No built-in mocks listed
Who it suits
jqwik suits JVM programmers writing property-based checks in Java, Kotlin, or Groovy. It fits projects already using JUnit 5 with Gradle or Maven.
Verdict
jqwik adds generated property checks and shrinking to JUnit 5 workflows. Its module setup and JUnit requirement should be checked, especially for Kotlin projects.
The facts
Each one read from jqwik's own pages, with the date it was checked.
What it does
- Additional modules
- The guide lists optional web and time modules, with examples including email address, web domain, date, and time generation.checked 10 Oct 2026
- AI agent usage
- The guide says jqwik is not meant for AI coding agents and describes a runtime message added to standard output.checked 11 Oct 2026
- AI usage clause
- Starting with version 1.10, the project says it is not meant to be used by AI coding agents and adds a message to test-engine output.checked 10 Oct 2026
- Audience
- The site describes jqwik as a library for programmers writing and running properties on the JVM.checked 10 Oct 2026
- Available modules
- The guide lists web, time, testing, and Kotlin modules; it says the Kotlin module is not included in jqwik’s default dependencies.checked 11 Oct 2026
- Build integrations
- The guide provides setup instructions for Gradle and Maven, and says the latest release is deployed to Maven Central.checked 10 Oct 2026
- Build tools
- The guide provides setup instructions for Gradle and Maven and says the latest release is deployed to Maven Central.checked 11 Oct 2026
- Extension integrations
- The site lists external extensions for Spring, Testcontainers, Vavr, and Micronaut, whose releases are not synchronized with jqwik’s releases.checked 11 Oct 2026
- Failure reports
- When a property fails, jqwik reports the relevant exception, base parameters, original failing sample, and shrunk sample.checked 11 Oct 2026
- Generated tests
- By default, jqwik runs a property 1,000 times with different generated parameter sets unless configured otherwise.checked 11 Oct 2026
- Generated values
- By default, a property runs 1,000 generated parameter sets unless configured otherwise.checked 10 Oct 2026
- JUnit requirement
- The documented minimum required JUnit Platform version is 1.14.4.checked 11 Oct 2026
- Maintainer
- The site says jqwik is maintained by jqwik-team.checked 11 Oct 2026
- Maintainer contact
- The project invites prospective long-term supporters, maintainers, or committers to contact [email protected].checked 11 Oct 2026
- Property testing
- It generates many sets of values satisfying a property’s precondition to try to falsify an incorrect assumption.checked 10 Oct 2026
- Purpose
- jqwik brings property-based testing to the JVM, focusing mainly on Java and Kotlin, with Groovy also supported.checked 11 Oct 2026
- Release
- The site identifies 1.10.1 as the latest release.checked 10 Oct 2026
- Support channels
- The contribution page directs users to Stack Overflow for questions and the GitHub issue tracker for bugs, ideas, and feature suggestions.checked 11 Oct 2026
- Test engine
- jqwik is an alternative test engine for the JUnit 5 platform and can run alone or alongside other JUnit 5 engines.checked 11 Oct 2026
Alternatives to jqwik
- 1

fast-check
Free planOpen sourceWebAPILinuxSelf-hosted7.1Free plan - 2
ScalaCheck
Free planLinuxmacOSWindows6.6Free plan - 3
Gopter
Free planLinuxSelf-hosted6.4Free plan - 4
JSVerify
Free planWebSelf-hosted6.4Free plan - 5
Racket QuickCheck
Free planLinuxmacOSWindows6.4Free plan - 6
FsCheck
Free planLinuxmacOSWindows6.3Free plan
