Part of jdoc-test. Gradle plugin available on gradle plugin portal that automates cucumber feature generation and cucumber testing tasks.
build.gradle:
plugins {
id "java"
id "io.github.boolivar.jdoctest.jdoc-cucumber" version "0.12.0"
}
repositories {
mavenCentral()
}
check.dependsOn jdocCucumberTestgradle checkbuild.gradle example:
jdocCucumber {
gluePackages = ["org.bool.cucumber.stepdefs"]
cucumberVersion = "7.18.1"
sources = sourceSets.custom.java
}| Extension property | Type | Default value | Description |
|---|---|---|---|
outputDir |
Directory |
project.layout.buildDirectory.dir("generated/sources/jdoc-cucumber") | Path to store generated features |
langTag |
String |
"gherkin" | lang tag to parse. Only <code lang="<langTag>"> javadoc blocks will be parsed and written as features |
sources |
FileCollection |
sourceSets.main.java.sourceDirectories | source directories to search java files with jdoc-cucumber comments |
cucumberVersion |
String |
"7.34.7" | io.cucumber:cucumber-java dependency version to register in testImplementation configuration |
gluePackages |
List<String> |
List of packages with cucumber glue code |
When java plugin is applied to a project, jdoc-cucumber plugin registers io.cucumber:cucumber-java dependency in testImplementation configuration and creates 2 tasks:
- generateCucumberFeatures -
JdocCucumberTask
Generates cucumber features from javadocs and stores them injdocCucumber.outputDirpath. - jdocCucumberTest -
JavaExec
Depends on: all tasks with typeJdocCucumberTask. Runs cucumber tests using cucumber CLI Runner.
Note
By default jdocCucumberTest task is not a dependency for check task. To include jdocCucumberTest in build this should be configured manually.
build.gradle example:
check.dependsOn jdocCucumberTest