trivago/cucable-plugin

add "includeFeatureTags" as config Parameter. Same as "includeScenarioTags" but for Features

Closed this issue · 4 comments

Is your feature request related to a problem? Please describe.
We are currently running our Tests in parallelizationMode=features.

At the same time we pass a number of Tags to Cucumber wich controll what features are actually run. Something along the lines -Dcucumber.filter.tags="@mandatory and not @inDevelopment and not @Ignore

The Problem is that cucable generates a feature file and runner for every feature that is present in the configured source folder.
Every Feature is then picked up by Cucumber, but only a fraction is actually run, because of the passed Tags.
Therefore I have number of Forked JVMs that are started and shutdown again without doing anything usefull.

Describe the solution you'd like
I want to use these Tags to tell cucable to only generate Runners and Feature Files wich have this Tag combination.
When the parallelizationMode=scenarios I can use includeScenarioTags to achieve something similar.

I would like to be able to use a Configuration Parameter like includeFeatureTags to have cucable only generate Runners and Feature-files that will actually be run by Cucumber

includeScenarioTags also considers feature tags already but only for parallelizationMode=scenarios. Internally, Cucable adds feature tags to each scenario in this mode to filter out non-matching scenarios based on the tag expression that is passed to Cucable.
Is there any specific reason why you need to use the features mode in your case?

Mainly because we had some Racecondition issues when using scenarios.

Secondly the way we postprocess the reports (the json reports created by cucumber) when using scenarios we would endup with an entry for every scenario as a feature in the report.

Any news on this? @laxersaz

Decided against this as it is an edge case. Parallelization mode "features" was just a simple solution to support the parallelization of complete features (which Cucumber can also handle on its own.