jecklgamis / cucumber-jvm-java-example

Example project using Cucumber-JVM , Java 8 Lambda Steps, and Guice DI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cucumber-jvm-java-example

Build

This is an example Cucumber-JVM project.

  • Uses Java 8 lambda step definitions
  • Packages tests into executable jar file
  • Uses Guice dependency injection

Running Cucumber Tests

Using executable jar file:

mvn clean package
java -jar target/cucumber-jvm-java-example.jar --plugin pretty --plugin html:cucumber/html --plugin json:cucumber/json/cucumber.json  --glue steps classpath:features --tags ~@Wip

Using Maven exec plugin:

mvn exec:java -Dcucumber.options="--plugin pretty --plugin html:cucumber/html --plugin json:cucumber/json/cucumber.json --glue steps classpath:features --tags ~@Wip --tags @ExampleFeature"

Using JUnit test runner:

mvn test -Dtest=ExampleFeatureTest

Using Docker:

Build Docker image (see build-docker-image.sh)

IMAGE_NAME=jecklgamis/cucumber-jvm-java-example
IMAGE_TAG=latest
docker build -t ${IMAGE_NAME}:${IMAGE_TAG} .

Run Docker image (see run-all-tests-using-docker.sh)

IMAGE_NAME=jecklgamis/cucumber-jvm-java-example
IMAGE_TAG=latest

JAVA_OPTS=${JAVA_OPTS:-""}
ARGS=${ARGS:-"--plugin pretty --plugin html:cucumber/html --plugin json:cucumber/json/cucumber.json --glue steps classpath:features --tags @ExampleFeature"}

docker run -e "JAVA_OPTS=${JAVA_OPTS}" -e "ARGS=${ARGS}" ${IMAGE_NAME}:${IMAGE_TAG}

In Intellij, you can also run the scenario directly from the feature file. Ensure you have the Cucumber Java plugin installed.

Other Cucumber-JVM Examples

Links

About

Example project using Cucumber-JVM , Java 8 Lambda Steps, and Guice DI

License:Apache License 2.0


Languages

Language:Java 60.4%Language:Shell 19.4%Language:Gherkin 7.7%Language:Dockerfile 6.8%Language:Makefile 5.7%