Freedom251 › BDD Testing Tools
JGiven

What JGiven is
JGiven is an open-source behavior-driven development framework for Java. It lets teams write scenarios in standard Java using a fluent, domain-specific API, with no separate scenario language or IDE plugin required. Scenarios run with JUnit or TestNG and do not need an additional test runner. Reusable stage classes can share state between scenarios, and parameters can be applied to scenarios and steps for data-driven tests.
During test execution, JGiven produces plain-text and JSON reports. Its report generator uses the JSON files to create HTML reports that domain experts can read. The user guide documents Maven and Gradle plugins for generating those reports, as well as integrations for Spring and Spock. Android support and JUnit 5 integration are marked experimental. JGiven also supports Gherkin, and execution is local.
Install it as a Java library by adding its JARs to the classpath, commonly through Maven, Gradle, or Ant with Ivy. Created by Jan Schäfer and mainly developed by TNG, JGiven welcomes contributions and is published under the Apache License 2.0. Its listed plan is free. The maker’s news page lists version 2.0.3, released September 26, 2025.
Who it suits
JGiven suits Java teams that want to write behavior-driven scenarios in Java and run them with JUnit or TestNG. It is also a fit for teams that want HTML reports for domain experts or reusable stages and parameterized tests.
What it does well
- Write scenarios in standard Java without a separate language or IDE plugin.
- Run scenarios with JUnit or TestNG without an extra test runner.
- Create HTML reports from JSON output.
- Reuse stage classes that can share state.
- Parameterize scenarios and steps for data-driven tests.
- Published under the Apache License 2.0.
What to know first
- Android support is marked experimental.
- JUnit 5 integration is marked experimental.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| JGiven | Apache License 2.0 · open-source BDD framework for Java | Free |
As jgiven.org lists them, read 4 Oct 2026. The maker's own page has the final word.
Getting started
- Visit https://jgiven.org/.
- Add JGiven’s JARs to the Java classpath, commonly through Maven, Gradle, or Ant with Ivy.
- Write scenarios in Java and run them with JUnit or TestNG.
- Generate JSON report input during test execution.
- Use the report generator or documented Maven and Gradle plugins to create HTML reports.
Verdict
Choose JGiven if your Java team wants behavior-driven scenarios, local execution, and reports generated from test output. Its free, Apache-licensed plan is listed as free. Look elsewhere if you require established Android or JUnit 5 support, since both are marked experimental.
Questions
How much does JGiven cost?
The listed plan is free. JGiven is open source under the Apache License 2.0.
Is there a free plan or trial?
A free plan is listed. There is no free trial.
Which test frameworks can run JGiven scenarios?
Scenarios can run with JUnit or TestNG without an extra test runner. JUnit 5 support is marked experimental.
What platforms and execution mode does it support?
The listed platforms are Linux and self-hosted. Execution is local.
How does JGiven create reports?
It produces plain-text and JSON reports during test execution. HTML reports are generated from the JSON files.
Who maintains JGiven, and what integrations are documented?
JGiven was created by Jan Schäfer and is mainly developed by TNG, with contributions welcome. The user guide documents integrations for Maven, Gradle, Spring, and Spock; Android support is experimental.
Facts from JGiven's own pages
- Additional integrations
- The user guide documents integrations for Spring and Spock, and experimental support for Android and JUnit 5. · jgiven.org, 4 Oct 2026
- Build integrations
- The user guide documents Maven and Gradle plugins for generating HTML reports. · jgiven.org, 4 Oct 2026
- Data-driven testing
- Scenarios and steps can be parameterized for data-driven tests. · jgiven.org, 4 Oct 2026
- Experimental status
- The user guide marks its Android support and JUnit 5 integration as experimental. · jgiven.org, 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, 4 Oct 2026
- Latest listed release
- The maker’s news page lists version 2.0.3, released September 26, 2025. · jgiven.org, 4 Oct 2026
- License
- The project is published under the Apache License 2.0. · github.com, 4 Oct 2026
- Maintainer
- JGiven was created by Jan Schäfer and is mainly developed by TNG, with contributions welcome. · jgiven.org, 4 Oct 2026
- Purpose
- JGiven is a pragmatic open-source behavior-driven development framework for Java. · jgiven.org, 4 Oct 2026
- Report input
- HTML reports are generated from JSON files produced during test execution. · jgiven.org, 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, 4 Oct 2026
- Reusable stages
- Scenarios use reusable stage classes that can share state, helping reduce duplicated test code. · jgiven.org, 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, 4 Oct 2026
- Test frameworks
- Scenarios can run with JUnit or TestNG without an extra test runner. · jgiven.org, 4 Oct 2026
Where JGiven stands on Freedom251
- BDD Testing Tools#14 of 30