when there are no features found at all.
Overload CucumberFeature.load to avoid passing null and the need for null check. Improve the log message when no feature path is given at the command line.
Jenkins will mark a job as failed even though the exit code was 0, if the JUnit report file contains no testcase elements. Therefore add a dummy testcase element to the JUnit report, when no features are found, or no found features match the tags filter used.
Return exit code 0 when no features are found, or if no found features match the tags filter used. Print the same message, that is used in the currently thrown CucumberException when this occurs, as information before the summary printout.
Correct the indentation of helloworld.feature to not expect leading blanks on the lines of the shopping list, which makes the example fail.
Now when cucumber-jvm has reveted to all-steps-first execution, the test case for the PrettyFormatter should pass.
To fix the missmatch between the PrettyFormatter from the Gherkin library and Cucumber-JVM, by reverting the scenario execution to all-steps-first execution as in Cucumber-JVM 1.1.2. This is possible since the JSONFormatter in the Gherkin library in Gherkin 2.12.0 supports all-steps-first execution.
The main issue is that the JUnitFormatter does not handle failures in the before and after hooks properly. To add flexibility the tests also specify that the JUnitFormatter should handle both all-steps-first execution and one-step-at-the-time execution.
Adjust the number of . separating the step text from the step result, so that the results are aligned.
To aid testing, make it possible to inject a glue when creating a Runtime. Also add a test specify that a CucumberException is thrown if no backends are found (or an emtpy collection of backends is injected).
Add RuntimeOptions.isMonochorme(), since commit 65f3bd6 on the master branch change RuntimeOptions to have private fields and getters. Basically revert commit c8feb10. Since the new android support on the master banch sends backends to the Runtime constructor, which previously only was done in tests, the change to use factory methods in Runtime no longer make sence.
…dependency - it's transitive.