-
Bug
-
Resolution: Unresolved
-
Critical
-
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