-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Critical
-
Component/s: cucumber-testresult-plugin
-
None
As of Cucumber 2.0.1 (cucumber-core 1.2.0), the JSON output format has changed. It now adds a before array into the Background element. That causes GherkinCallback.java to crash because it assumes before will only exist for a Scenario:
ERROR: Build step failed with exception java.lang.NullPointerException at org.jenkinsci.plugins.cucumber.jsontestsupport.GherkinCallback.before(GherkinCallback.java:221) at gherkin.JSONParser.before(JSONParser.java:82) at gherkin.JSONParser.parse(JSONParser.java:48) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:77) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:43) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:159) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl$ParseResultCallable.invoke(DefaultTestResultParserImpl.java:105) at hudson.FilePath.act(FilePath.java:991) at hudson.FilePath.act(FilePath.java:969) at org.jenkinsci.plugins.cucumber.jsontestsupport.DefaultTestResultParserImpl.parse(DefaultTestResultParserImpl.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberJSONParser.parse(CucumberJSONParser.java:99) at org.jenkinsci.plugins.cucumber.jsontestsupport.CucumberTestResultArchiver.perform(CucumberTestResultArchiver.java:112) at hudson.plugins.templateproject.ProxyPublisher.perform(ProxyPublisher.java:71) at hudson.tasks.BuildStepMonitor$2.perform(BuildStepMonitor.java:32) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726) at hudson.model.Build$BuildExecution.post2(Build.java:185) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671) at hudson.model.Run.execute(Run.java:1769) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:374)
Example feature:
Feature:
Background:
Given I am in the app
Scenario:
When I do something
Then I should see something
Example hooks:
Before do |scenario|
# Do something.
end
Produces a JSON output similar to:
[{
uri: "features/background_before.feature",
line: 1,
...
elements: [
{keyword: "Background",
...
before: []
steps: []
}
]
}]
When locking cucumber to version 2.0.0, and all else remaining the same, the old JSON format is produced:
[{
uri: "features/background_before.feature,
...
elements: [
{
keyword: "Background",
steps: []
},
{
keyword: "Scenario",
steps: []
}
]
}]
Note that it does not even have the before array at all.
- is duplicated by
-
JENKINS-42812 Test Results are not displayed after several executions
-
- Closed
-