Java Tools

This page describes tools commonly used with Java.

IDEs 🔗︎

IntelliJ IDEA 🔗︎

You can find more information on using Cucumber with IntelliJ IDEA in the IntelliJ IDEA Cucumber help pages

Eclipse 🔗︎

Build tools 🔗︎

The most widely used build tools for Java are Maven and Gradle.

Maven 🔗︎

To run Cucumber with Maven, make sure that:

  • Maven is installed
  • The environment variable MAVEN_HOME is correctly configured
  • The IDE is configured with the latest Maven installation

Steps:

  1. Create a new Maven project or fork cucumber-java examples on Github
  2. Add the following dependency to the pom.xml

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>4.2.0</version>
    </dependency>
  3. Add feature .feature files and associated step mapping classes .java in src/test/resources and src/test/java folders respectively.

  4. Run the following Maven from the directory path where the pom.xml file is located:

    mvn clean install -DCucumberOptions="--glue package_name_of_step_definitions \
       --plugin pretty path\to\featurefiles"

Gradle 🔗︎

To run Cucumber with Gradle, make sure that:

  • Gradle is installed
  • The environment variable GRADLE_HOME is correctly configured
  • The IDE is configured with the latest Gradle installation

Steps:

  1. Create a new Gradle project or look at java-gradle example on Github
  2. Add the following dependency to build.gradle
dependencies {
    testCompile 'io.cucumber:cucumber-java:4.2.0'
}
  1. Add the following configuration to build.gradle
configurations {
    cucumberRuntime {
        extendsFrom testRuntime
    }
}
  1. Add feature .feature files and associated step mapping classes .java in src/test/resources and src/test/java respectively in a gradle.cucumber package.
  2. Add the following Gradle cucumber task in build.gradle
task cucumber() {
    dependsOn assemble, compileTestJava
    doLast {
        javaexec {
            main = "cucumber.api.cli.Main"
            classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
            args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources']
        }
    }
}
  1. Run the following gradle task from the directory path where build.gradle file is located:
gradle cucumber

You can help us improve this documentation. Edit this page.