Cucumber for the JVM
Java Gherkin HTML JavaScript Kotlin Shell CSS
Clone or download
boaty82 and mpkorstanje [Core] Support parallel execution of pickles (#1389)
Adds supports for parallel execution of pickles to cucumber-jvm

# Added --threads argument to runtime options

Allows users of the CLI to specify the (max) number of threads to be used to run the tests. TestNG/JUnit users should consult their documentation on how to run JUnit/TestNG in parallel.

Note that JUnit will only run features in parallel, not scenarios.

# Concurrent Events

During parallel executing events from the execution of different pickles may interleave. To avoid breaking existing Formatters, these will now receive all test events after the run is complete. Because we are unable to infer whether JUnit/TestNG run in parallel the assumption is that they are and their formatter will always get all events after the run. 

Formatters that can handle concurrent events can events in real time by implementing the ConcurrentEventListener.

# New formatter introduced TimelineFormatter

Which produces reports using vsjis.org timeline to highlight which feature was run on which Thread and when.
Latest commit f840358 Jul 6, 2018
Permalink
Failed to load latest commit information.
.github Update issue template (#1400) Jun 19, 2018
continuous-deployment Prepare for development of v4.0.0 Jun 5, 2018
core [Core] Support parallel execution of pickles (#1389) Jul 6, 2018
examples Android extract to separate project (#1411) Jul 6, 2018
guice Prepare for development of v4.0.0 Jun 5, 2018
java [Core] Support parallel execution of pickles (#1389) Jul 6, 2018
java8 [Core] Refactor Runtime (#1367) Jun 5, 2018
junit [Core] Support parallel execution of pickles (#1389) Jul 6, 2018
kotlin-java8 Prepare for development of v4.0.0 Jun 5, 2018
needle Prepare for development of v4.0.0 Jun 5, 2018
openejb Use 1.7 as the source and target level for compilation Jun 16, 2018
picocontainer Prepare for development of v4.0.0 Jun 5, 2018
spring Add documentation for spring object factory #1405 Jun 29, 2018
testng [Core] Support parallel execution of pickles (#1389) Jul 6, 2018
weld Document the need for two beans.xml for injection from /src/main/java ( Jun 16, 2018
.editorconfig [Build] Use build stages Jun 24, 2017
.gitignore [maven-release-plugin] prepare for next development iteration Oct 28, 2017
.travis.yml Android extract to separate project (#1411) Jul 6, 2018
CHANGELOG.md Remove OSGi Jun 29, 2018
CONTRIBUTING.md Update and organize release instructions Dec 4, 2017
LICENCE Remove year from Copyright May 26, 2016
README.md [Core] Implement cucumber expressions (#1248) May 14, 2018
RELEASING.md Update release instructions May 22, 2018
pom.xml [Core] Support parallel execution of pickles (#1389) Jul 6, 2018

README.md

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 {int} cukes in my {string}")
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