NonDex
NonDex is a free, MIT-licensed tool for finding Java tests that rely on one behavior even though an API specification permits several.
What NonDex is
NonDex is a free, MIT-licensed tool for finding Java tests that rely on one behavior even though an API specification permits several. It explores allowed behaviors in under-determined APIs to help expose implementation-dependent assumptions that can make tests flaky or cause portability bugs across Java runtime environments. The project supports JUnit and TestNG and provides Maven and Gradle plugins as well as command-line instructions. It reports tests that pass without shuffling but fail when behaviors are shuffled, and logs results in a `.nondex` directory. Debug tasks provide reproduction arguments and output, with a stack trace for an invocation point when one can be identified. Covered API areas include collections, reflection, file listing, and locale- or time-related methods. The listed requirements are Java 8–21, Maven 3.6+ with Surefire for the Maven plugin, or Gradle 5.0+ for the Gradle plugin. Linux and macOS are listed platforms; an automatic Gradle setup script is documented for both. Java 9 and later need module options in command-line setup instead of the Java 8 boot class path option. The license provides the software as-is without warranty.
Good
- Free, open-source software under an MIT license
- Supports both Maven and Gradle plugins
- Debug output includes reproduction arguments
- Covers collection, reflection, file, locale, and time APIs
Watch out
- Requires Java 8–21
- Maven plugin requires Maven 3.6+ and Surefire
- Gradle plugin requires Gradle 5.0+
- Java 9+ command-line setup needs module options
Who it suits
NonDex suits Java developers who want to uncover tests that depend on implementation-specific behavior in APIs. It is a fit for projects using JUnit or TestNG with Maven or Gradle on Linux or macOS.
Verdict
NonDex focuses on a specific source of flaky Java tests: assumptions about APIs with multiple permitted behaviors. Its Maven, Gradle, and command-line options make it relevant to projects that meet its listed requirements.
Plans and prices
From NonDex's own pricing page, checked 5 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| NonDex | Free | MIT-licensed software · Java 8–21 · Maven 3.6+ with Surefire or Gradle 5.0+ |
The facts
Each one read from NonDex's own pages, with the date it was checked.
What it does
- API coverage
- The supported API list includes collection and reflection APIs, file listing methods, and locale or time-related methods.checked 5 Oct 2026
- Debugging
- Its debug tasks report reproduction arguments and debug output for flaky tests, including a stack trace for an invocation point when one can be identified.checked 5 Oct 2026
- Installation
- The README shows plugin versions 2.2.1 for Maven and Gradle setup.checked 5 Oct 2026
- Java compatibility note
- The README says Java 9 and later require replacing the Java 8 boot class path option with module exports and patch-module options for the command-line setup.checked 5 Oct 2026
- License
- The repository includes an MIT license granting permission to use, copy, modify, distribute, sublicense, and sell the software, subject to its conditions.checked 5 Oct 2026
- License warranty
- The MIT license provides the software as-is without warranty.checked 5 Oct 2026
- Output
- NonDex reports tests that pass without shuffling but fail in shuffled runs and logs them in a .nondex directory.checked 5 Oct 2026
- Purpose
- NonDex detects and helps debug incorrect assumptions about under-determined Java APIs by exploring behaviors allowed by their specifications.checked 5 Oct 2026
- Requirements
- The README lists Java 8–21 (Oracle JDK or OpenJDK), Maven 3.6+ and Surefire for the Maven plugin, and Gradle 5.0+ for the Gradle plugin.checked 5 Oct 2026
- Test runners
- The project provides Maven and Gradle plugins, plus command-line usage instructions.checked 5 Oct 2026
- Use case
- It can expose implementation-dependent flaky tests before assumptions cause portability bugs across Java runtime environments.checked 5 Oct 2026
Where it runs
- Platform setup
- The README describes an automatic Gradle setup script for Linux or macOS.checked 5 Oct 2026
Alternatives to NonDex
- 1

Cypress
Free planOpen sourceWebAPILinuxmacOS8.4From $67 a month - 2

Qualflare
Free planAndroidiOSWebAPI8.2From $16 a month - 3

TeamCity
Free planAndroidWebAPILinux8.2From $15 a month - 4

Captain
Free planOpen sourceWebAPILinuxmacOS8.1$10 one-time - 5
Bitbucket Pipelines
Free planWebAPILinuxmacOS8.0From $3.65 a month - 6

BuildPulse
Free planWebAPILinuxmacOS7.9Free plan
