- Home
- BDD Testing Tools
- JGiven
JGiven
What it is
JGiven is a free, open-source behavior-driven development framework for Java. It lets developers write scenarios in ordinary Java using a fluent domain-specific API, without another scenario language or IDE plugin. Scenarios run with JUnit or TestNG and need no separate test runner. Reusable stage classes can share state, helping limit repeated test code, while parameters on scenarios and steps support data-driven testing. During execution, JGiven creates plain-text and JSON reports. Its report generator turns the JSON into HTML that domain experts can read, and Maven and Gradle plugins are documented for report generation. Integrations are documented for Spring and Spock; Android support and JUnit 5 integration are experimental. Gherkin support is available, with local execution. Installation uses Java JARs on the classpath through tools such as Maven, Gradle, or Ant with Ivy. The project uses Apache License 2.0, was created by Jan Schäfer, and is mainly developed by TNG.
For and against
For
- Uses standard Java instead of a separate scenario language
- Runs with JUnit or TestNG
- Produces plain-text, JSON, and HTML reports
- Supports parameterized data-driven scenarios
- Free under Apache License 2.0
Against
- Android support is experimental
- JUnit 5 integration is experimental
- Runs locally rather than as a hosted service
The verdict
JGiven offers a Java-native way to write behavior-driven scenarios and generate reports for technical and domain readers. Its experimental integrations should be checked before relying on Android or JUnit 5 support.
Who it suits
JGiven suits Java teams building behavior-driven tests with JUnit or TestNG. It is useful when readable HTML reports and reusable test stages matter.
Plans and prices
JGiven
Apache License 2.0 · open-source BDD framework for Java
Read 4 Oct 2026 · github.com
On the record
- Additional integrations
- The user guide documents integrations for Spring and Spock, and experimental support for Android and JUnit 5.jgiven.org · read 4 Oct 2026
- Build integrations
- The user guide documents Maven and Gradle plugins for generating HTML reports.jgiven.org · read 4 Oct 2026
- Data-driven testing
- Scenarios and steps can be parameterized for data-driven tests.jgiven.org · read 4 Oct 2026
- Experimental status
- The user guide marks its Android support and JUnit 5 integration as experimental.jgiven.org · read 4 Oct 2026
- Installation
- JGiven is installed as a Java library using JARs on the classpath, commonly through Maven, Gradle, or Ant with Ivy.jgiven.org · read 4 Oct 2026
- Latest listed release
- The maker’s news page lists version 2.0.3, released September 26, 2025.jgiven.org · read 4 Oct 2026
- License
- The project is published under the Apache License 2.0.github.com · read 4 Oct 2026
- Maintainer
- JGiven was created by Jan Schäfer and is mainly developed by TNG, with contributions welcome.jgiven.org · read 4 Oct 2026
- Purpose
- JGiven is a pragmatic open-source behavior-driven development framework for Java.jgiven.org · read 4 Oct 2026
- Report input
- HTML reports are generated from JSON files produced during test execution.jgiven.org · read 4 Oct 2026
- Reports
- JGiven generates plain-text and JSON reports, and its report generator can produce HTML reports readable by domain experts.jgiven.org · read 4 Oct 2026
- Reusable stages
- Scenarios use reusable stage classes that can share state, helping reduce duplicated test code.jgiven.org · read 4 Oct 2026
- Scenario authoring
- Scenarios are written in standard Java with a fluent, domain-specific API, without requiring a separate language or IDE plugin.github.com · read 4 Oct 2026
- Test frameworks
- Scenarios can run with JUnit or TestNG without an extra test runner.jgiven.org · read 4 Oct 2026