Cucumber logo
Cucumber JVM

Automated tests in plain language, for the JVM

[![Maven Central](https://img.shields.io/maven-central/v/io.cucumber/cucumber-java?style=flat&color=dark-green&label=Maven%20Central)](https://central.sonatype.com/artifact/io.cucumber/cucumber-java) [![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/cucumber/cucumber-jvm/badge)](https://scorecard.dev/viewer/?uri=github.com/cucumber/cucumber-jvm) [![OpenCollective](https://opencollective.com/cucumber/backers/badge.svg)](https://opencollective.com/cucumber) [![OpenCollective](https://opencollective.com/cucumber/sponsors/badge.svg)](https://opencollective.com/cucumber) [![#StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://vshymanskyy.github.io/StandWithUkraine) [![Build Status](https://github.com/cucumber/cucumber-jvm/actions/workflows/test-java.yaml/badge.svg)](https://github.com/cucumber/cucumber-jvm/actions) [![Build Status](https://github.com/cucumber/cucumber-jvm/actions/workflows/release-mvn.yaml/badge.svg)](https://github.com/cucumber/cucumber-jvm/actions)
[Cucumber](https://github.com/cucumber) is a tool for running automated tests written in plain language. Because they're written in plain language, they can be read by anyone on your team. Because they can be read by anyone, you can use them to help improve communication, collaboration and trust on your team. This is the Java implementation of Cucumber. You can [run](https://cucumber.io/docs/cucumber/api/#running-cucumber) it with the tool of your choice - including with popular [dependency injection containers](https://cucumber.io/docs/installation/java/#dependency-injection). ## Getting started * [Installation](https://cucumber.io/docs/installation/java/) * [Documentation](https://cucumber.io/docs/cucumber/) * Hello world projects * [Maven](https://github.com/cucumber/cucumber-jvm-starter-maven-java) * [Gradle](https://github.com/cucumber/cucumber-jvm-starter-gradle-java) * [Example Projects](https://github.com/cucumber/cucumber-jvm-examples) ## Upgrading? Migration instructions from previous major versions and a long form explanation of noteworthy changes can be found in the [release-notes archive](release-notes) The changes for the current major version can be found in the [CHANGELOG.md](CHANGELOG.md). ## Questions, Problems, Help needed? Please ask on * [Github Discusssion](https://github.com/orgs/cucumber/discussions) * [Cucumber Discord](https://cucumber.io/docs/community/get-in-touch/#discord) * [Stack Overflow](https://stackoverflow.com/questions/tagged/cucumber-jvm) ## Bugs and Feature requests You can register bugs and feature requests in the [GitHub Issue Tracker](https://github.com/cucumber/cucumber-jvm/issues). Please bear in mind that this project is almost entirely developed by volunteers. If you do not provide the implementation yourself (or pay someone to do it for you), the bug might never get fixed. If it is a serious bug, other people than you might care enough to provide a fix. ## Contributing If you'd like to contribute to the documentation, checkout [cucumber/docs.cucumber.io](https://github.com/cucumber/docs.cucumber.io) otherwise see our [CONTRIBUTING.md](https://github.com/cucumber/cucumber-jvm/blob/main/CONTRIBUTING.md).