Freedom251 › Property-Based Testing Tools
jqwik

What jqwik is
jqwik is a free, open-source property-based testing library for JVM programmers, with support for Java, Kotlin, and Groovy. You define a property and its precondition; jqwik generates parameter sets that meet that precondition to look for counterexamples to incorrect assumptions. A property runs 1,000 times by default, unless you configure another count. It works as an alternative test engine on the JUnit 5 platform and can run alongside other JUnit 5 engines. Failure reports can include the original and reduced sample, property parameters, and a relevant exception. The guide includes Gradle and Maven setup instructions, and says the latest release is on Maven Central. Available modules include web, time, testing, and Kotlin; the Kotlin module is not included in the default dependencies. Web and time modules include examples of email address, web domain, date, and time generation. The site identifies 1.10.1 as the latest release and says jqwik is not meant for AI coding agents, with a related message printed to standard output. The documented minimum JUnit Platform version is 1.14.4.
Who it suits
jqwik suits programmers writing and running property-based tests on the JVM, particularly with Java, Kotlin, or Groovy. It fits teams using JUnit 5 with Gradle or Maven.
What it does well
- Generates 1,000 parameter sets by default.
- Runs alongside other JUnit 5 engines.
- Failure reports can show samples and exceptions.
- Setup instructions cover Gradle and Maven.
- Optional modules include web and time generators.
What to know first
- Requires JUnit Platform 1.14.4 or later.
- Kotlin module is not in default dependencies.
- Not intended for AI coding agents.
Limits
Properties run 1,000 generated parameter sets by default unless configured otherwise. The Kotlin module requires an additional dependency, and JUnit Platform 1.14.4 is the documented minimum.
Getting started
- Open the jqwik website and read the setup guide
- Add jqwik through Maven Central using Gradle or Maven instructions
- Use a JUnit Platform version meeting the documented 1.14.4 minimum
- Configure jqwik as a JUnit 5 test engine
- Add optional web, time, testing, or Kotlin modules when needed
Verdict
jqwik offers JVM programmers a way to search for counterexamples through generated property tests, with support for JUnit 5 and common build tools. Note its JUnit Platform minimum and the project’s stated restriction on AI coding-agent use.
Questions
Is jqwik free?
Yes. The project is free and open source.
Which languages does jqwik support?
It supports Java, Kotlin, and Groovy on the JVM.
How many generated cases run by default?
Each property runs with 1,000 generated parameter sets unless you configure a different amount.
Does jqwik work with JUnit 5?
Yes. It is an alternative JUnit 5 test engine and can run alongside other JUnit 5 engines.
Where is jqwik distributed?
The latest release is deployed to Maven Central, with Gradle and Maven setup instructions.
Facts from jqwik's own pages
- Additional modules
- The guide lists optional web and time modules, with examples including email address, web domain, date, and time generation. · jqwik.net, 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. · jqwik.net, 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. · jqwik.net, 10 Oct 2026
- Audience
- The site describes jqwik as a library for programmers writing and running properties on the JVM. · jqwik.net, 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. · jqwik.net, 11 Oct 2026
- Build integrations
- The guide provides setup instructions for Gradle and Maven, and says the latest release is deployed to Maven Central. · jqwik.net, 10 Oct 2026
- Build tools
- The guide provides setup instructions for Gradle and Maven and says the latest release is deployed to Maven Central. · jqwik.net, 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. · jqwik.net, 11 Oct 2026
- Failure reports
- When a property fails, jqwik reports the relevant exception, base parameters, original failing sample, and shrunk sample. · jqwik.net, 11 Oct 2026
- Generated tests
- By default, jqwik runs a property 1,000 times with different generated parameter sets unless configured otherwise. · jqwik.net, 11 Oct 2026
- Generated values
- By default, a property runs 1,000 generated parameter sets unless configured otherwise. · jqwik.net, 10 Oct 2026
- JUnit requirement
- The documented minimum required JUnit Platform version is 1.14.4. · jqwik.net, 11 Oct 2026
- Maintainer
- The site says jqwik is maintained by jqwik-team. · jqwik.net, 11 Oct 2026
- Maintainer contact
- The project invites prospective long-term supporters, maintainers, or committers to contact [email protected]. · jqwik.net, 11 Oct 2026
- Property testing
- It generates many sets of values satisfying a property’s precondition to try to falsify an incorrect assumption. · jqwik.net, 10 Oct 2026
- Purpose
- jqwik brings property-based testing to the JVM, focusing mainly on Java and Kotlin, with Groovy also supported. · jqwik.net, 11 Oct 2026
- Release
- The site identifies 1.10.1 as the latest release. · jqwik.net, 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. · jqwik.net, 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. · jqwik.net, 11 Oct 2026
Where jqwik stands on Freedom251
- Property-Based Testing Tools#27 of 28
- Unit Testing Frameworks#31 of 32
