Cucumber JVM

OpenCollective OpenCollective

Maven Central Build Status Coverage Status

Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM.

You can run it with the tool of your choice.

Cucumber-JVM also integrates with all the popular Dependency Injection containers.

Some JVM languages have been moved to their own repository:

Documentation

Start Here.

If you'd like to contribute to the documentation, go here.

Hello World

Check out the simple cucumber-java-skeleton starter project.

Downloading / Installation

Install

Bugs and Feature requests

You can register bugs and feature requests in the Github Issue Tracker.

You're most likely going to paste code and output, so familiarise yourself with Github Flavored Markdown to make sure it remains readable.

At the very least - use triple backticks:

```java
// Why doesn't this work?
@Given("I have (\\d+) cukes in my (.*)")
public void some_cukes(int howMany, String what) {
    // HALP!
}
```

Please consider including the following information if you register a ticket:

  • What cucumber-jvm version you're using
  • What modules you're using (cucumber-java, cucumber-spring, cucumber-groovy etc)
  • What command you ran
  • What output you saw
  • How it can be reproduced

How soon will my ticket be fixed?

The best way to have a bug fixed or feature request implemented is to fork the cucumber-jvm repo and send a pull request. If the pull request has good tests and follows the coding conventions (see below) it has a good chance of making it into the next release.

If you don't fix the bug 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.

In other words, there is no guarantee that a bug or feature request gets fixed. Tickets that are more than 6 months old are likely to be closed to keep the backlog manageable.

Contributing fixes

See CONTRIBUTING.md