task cucumber(dependsOn: testClasses) {
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.testRuntimeClasspath + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'gradle.cucumber', 'src/test/resources', '--junit,--step-notifications',
'--plugin', 'junit:output.xml'
]
}
}
}
I want to Scenario or When and When, Given, Then are the test step and test case tag but in output.xml file, When is not a testcase tag now.
My Expected behavior:
<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Just a failing scenario" time="0.007" tests="3" errors="2" skipped="0" failures="0">
<testcase name="Just a failing scenario" classname="Just a failing scenario" time="0"/>
<testcase name="I run a failing step" classname="Just a failing scenario" time="0.007">
<error message="production failed here" type="java.lang.RuntimeException">java.lang.RuntimeException: production failed here
at gradle.cucumber.Production.doWork(Production.java:6)
at gradle.cucumber.BasicStepdefs.I_run_a_failing_step(BasicStepdefs.java:9)
at ✽.I run a failing step(gradle/cucumber/gradle.feature:4)
</error>
<system-out><![CDATA[ &#27;[31mWhen &#27;[0m&#27;[31mI run a failing step&#27;[0m &#27;[90m# BasicStepdefs.I_run_a_failing_step()&#27;[0m
&#27;[31mjava.lang.RuntimeException: production failed here
at gradle.cucumber.Production.doWork(Production.java:6)
at gradle.cucumber.BasicStepdefs.I_run_a_failing_step(BasicStepdefs.java:9)
at ✽.I run a failing step(gradle/cucumber/gradle.feature:4)
&#27;[0m
]]></system-out>
</testcase>
<testcase name="Just a failing scenario" classname="Just a failing scenario" time="0">
<error message="production failed here" type="java.lang.RuntimeException">java.lang.RuntimeException: production failed here
at gradle.cucumber.Production.doWork(Production.java:6)
at gradle.cucumber.BasicStepdefs.I_run_a_failing_step(BasicStepdefs.java:9)
at ✽.I run a failing step(gradle/cucumber/gradle.feature:4)
</error>
</testcase>
</testsuite>
And actual behavior now:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<testsuite failures="1" name="cucumber.runtime.formatter.JUnitFormatter" skipped="0" tests="1" time="0.005819">
<testcase classname="Gradle-Cucumber integration" name="Just a failing scenario" time="0.005819">
<failure message="java.lang.RuntimeException: production failed here 	at gradle.cucumber.Production.doWork(Production.java:6) 	at gradle.cucumber.BasicStepdefs.I_run_a_failing_step(BasicStepdefs.java:9) 	at ✽.I run a failing step(src/test/resources/gradle/cucumber/gradle.feature:4) "><![CDATA[When I run a failing step...................................................failed
StackTrace:
java.lang.RuntimeException: production failed here
at gradle.cucumber.Production.doWork(Production.java:6)
at gradle.cucumber.BasicStepdefs.I_run_a_failing_step(BasicStepdefs.java:9)
at ✽.I run a failing step(src/test/resources/gradle/cucumber/gradle.feature:4)
]]></failure>
</testcase>
</testsuite>