Class Constants
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringProperty name used to disable ansi colors in the output (not supported by all terminals): "cucumber.ansi-colors.disabled"static final StringProperty name used to enable dry-run: "cucumber.execution.dry-run"static final StringProperty template used to describe a mapping of tags to exclusive resources: "cucumber.execution.exclusive-resources.<tag-name>.read"static final StringProperty template used to describe a mapping of tags to exclusive resources: "cucumber.execution.exclusive-resources.<tag-name>.read-write"static final StringTag replacement pattern for the exclusive resource templates: "<tag-name>"static final StringProperty name used to set the executing thread for all scenarios and examples in a feature: "cucumber.execution.execution-mode.feature"static final StringProperty name used to set execution order: "cucumber.execution.order"static final StringProperty name used to set the seed for random execution order: "cucumber.execution.order.random.seed"static final StringProperty name used to select features: "cucumber.features"static final StringProperty name used to set name filter: "cucumber.filter.name"static final StringProperty name used to set tag filter: "cucumber.filter.tags"static final StringProperty name to set the glue path: "cucumber.glue"static final StringProperty name used to enable discovery as a root engine: "cucumber.junit-platform.discovery.as-root-engine"static final StringProperty name used to configure the naming strategy of examples in case of long naming strategy: "cucumber.junit-platform.naming-strategy.long.example-name"static final StringProperty name used to configure the naming strategy: "cucumber.junit-platform.naming-strategy"static final StringProperty name used to configure the naming strategy of examples in case of short naming strategy: "cucumber.junit-platform.naming-strategy.short.example-name"static final StringProperty name used to configure the naming strategy of examples in case of surefire naming strategy: "cucumber.junit-platform.naming-strategy.surefire.example-name"static final StringProperty name to select custom object factory implementation: "cucumber.object-factory"static final StringProperty name used to specify the fully qualified class name of theParallelExecutionConfigurationStrategyto be used by theDefaultParallelExecutionConfigurationStrategy.CUSTOMconfiguration strategy: "cucumber.execution.parallel.config.custom.class"static final StringProperty name of the factor used to determine the desired parallelism for theDefaultParallelExecutionConfigurationStrategy.DYNAMICconfiguration strategy: "cucumber.execution.parallel.config.dynamic.factor"static final StringProperty name used to determine the maximum pool size for theDefaultParallelExecutionConfigurationStrategy.FIXEDconfiguration strategy: "cucumber.execution.parallel.config.fixed.max-pool-size"static final StringProperty name used to determine the desired parallelism for theDefaultParallelExecutionConfigurationStrategy.FIXEDconfiguration strategy: "cucumber.execution.parallel.config.fixed.parallelism"static final StringProperty name used to determine the desired configuration strategy: "cucumber.execution.parallel.config.strategy"static final StringProperty name used to enable parallel test execution: "cucumber.execution.parallel.enabled"static final StringProperty name to enable plugins: "cucumber.plugin"static final Stringstatic final StringProperty name to suppress publishing advertising banner: "cucumber.publish.quiet"static final StringProperty name to publish with bearer token: "cucumber.publish.token"static final StringProperty name to control naming convention for generated snippets: "cucumber.snippet-type"static final StringProperty name to select custom UUID generator implementation: "cucumber.uuid-generator" -
Method Summary
-
Field Details
-
ANSI_COLORS_DISABLED_PROPERTY_NAME
Property name used to disable ansi colors in the output (not supported by all terminals): "cucumber.ansi-colors.disabled"Valid values are
true,false.Ansi colors are enabled by default.
- See Also:
-
EXECUTION_DRY_RUN_PROPERTY_NAME
Property name used to enable dry-run: "cucumber.execution.dry-run"When using dry run Cucumber will skip execution of glue code.
Valid values are
true,false.By default, dry-run is disabled
- See Also:
-
EXECUTION_EXCLUSIVE_RESOURCES_TAG_TEMPLATE_VARIABLE
Tag replacement pattern for the exclusive resource templates: "<tag-name>" -
FEATURES_PROPERTY_NAME
Property name used to select features: "cucumber.features"A comma separated list of feature paths. A feature path is constructed as
[ PATH[.feature[:LINE]*] | URI[.feature[:LINE]*]Examples:
src/test/resources/features-- All features in thesrc/test/resources/featuresdirectoryclasspath:com/example/application-- All features in thecom.example.applicationpackagein-memory:/features-- All features in the/featuresdirectory on an in memory file system supported byFileSystemssrc/test/resources/features/example.feature:42-- The scenario or example at line 42 in the example feature file
Note: When used, any discovery selectors from the JUnit Platform will be ignored. This may lead to multiple executions of Cucumber. For example when used in combination with the JUnit Platform Suite Engine.
When using Cucumber through the JUnit Platform Launcher API or the JUnit Platform Suite Engine, it is recommended to either use the
DiscoverySelectorsor annotations fromorg.junit.platform.suite.apirespectively.Additionally, when this property is used, to work around limitations in Maven Surefire and Gradle, the Cucumber Engine will report its
TestSourceasCucumberTestEngine.- See Also:
-
FILTER_NAME_PROPERTY_NAME
Property name used to set name filter: "cucumber.filter.name"Filter scenarios by name based on the provided regex pattern e.g:
^Hello (World|Cucumber)$. Scenarios that do not match the expression are not executed.By default, all scenarios are executed
Note: To ensure consistent reports between Cucumber and JUnit 5 prefer using JUnit 5 discovery request filters,
org.junit.platform.suite.api.IncludeTagsor JUnit 5 tag expressions instead.- See Also:
-
FILTER_TAGS_PROPERTY_NAME
Property name used to set tag filter: "cucumber.filter.tags"Filter scenarios by tag based on the provided tag expression e.g:
@Cucumber and not (@Gherkin or @Zucchini). Scenarios that do not match the expression are not executed.By default, all scenarios are executed
Note: To ensure consistent reports between Cucumber and JUnit 5 prefer using JUnit 5 discovery request filters,
org.junit.platform.suite.api.IncludeTagsor JUnit 5 tag expressions instead.- See Also:
-
GLUE_PROPERTY_NAME
Property name to set the glue path: "cucumber.glue"A comma separated list of a classpath uri or package name e.g.:
com.example.app.steps.- See Also:
-
JUNIT_PLATFORM_NAMING_STRATEGY_PROPERTY_NAME
@API(status=EXPERIMENTAL, since="7.0.0") public static final String JUNIT_PLATFORM_NAMING_STRATEGY_PROPERTY_NAMEProperty name used to configure the naming strategy: "cucumber.junit-platform.naming-strategy"Value must be one of
long,short, orsurefire. By default, short names are used.When the
longnaming strategy is used all parent descriptor names are included in each test descriptor name. So for example a single example would be named:Feature Name - Rule Name - Scenario Name - Examples Name - Example #N. This is useful for tools that only report the test name such as Gradle.When the
surefirenaming strategy is used with Surefire <= 3.5.2, nodes are named such the output makes sense. The feature name will be rendered as the class name. The long name without the feature will be rendered as the test method name. For example:Feature Name.Rule Name - Scenario Name - Examples Name - Example #N.For Surefire >= 3.5.4 use the
longstrategy instead.- See Also:
-
JUNIT_PLATFORM_SHORT_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAME
@API(status=EXPERIMENTAL, since="7.16.2") public static final String JUNIT_PLATFORM_SHORT_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAMEProperty name used to configure the naming strategy of examples in case of short naming strategy: "cucumber.junit-platform.naming-strategy.short.example-name"Value must be one of
number,pickle, ornumber-and-pickle-if-parameterized. By default,number-and-pickle-if-parameterizedis used.- When set to
numberexamples are numbered. So the first example of the first examples section would be named#1.1 - When set to
picklethe pickle name is used. So for scenario nameAdding <a> and <b>and example with paramsa = 10andb = 20the following name would be produced:Adding 10 and 20. - When set to
number-and-pickle-if-parameterizedthe name would be rendered as#1.1: Adding 10 and 20.
- See Also:
- When set to
-
JUNIT_PLATFORM_SUREFIRE_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAME
@API(status=EXPERIMENTAL, since="7.23.0") public static final String JUNIT_PLATFORM_SUREFIRE_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAMEProperty name used to configure the naming strategy of examples in case of surefire naming strategy: "cucumber.junit-platform.naming-strategy.surefire.example-name"Value must be one of
number,pickle, ornumber-and-pickle-if-parameterized. By default,number-and-pickle-if-parameterizedis used.- When set to
numberexamples are numbered. So the first example of the first examples section would be named#1.1 - When set to
picklethe pickle name is used. So for scenario nameAdding <a> and <b>and example with paramsa = 10andb = 20the following name would be produced:Adding 10 and 20. - When set to
number-and-pickle-if-parameterizedthe name would be rendered as#1.1: Adding 10 and 20.
- See Also:
- When set to
-
JUNIT_PLATFORM_LONG_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAME
@API(status=EXPERIMENTAL, since="7.16.2") public static final String JUNIT_PLATFORM_LONG_NAMING_STRATEGY_EXAMPLE_NAME_PROPERTY_NAMEProperty name used to configure the naming strategy of examples in case of long naming strategy: "cucumber.junit-platform.naming-strategy.long.example-name"Value must be one of
number,pickle, ornumber-and-pickle-if-parameterized. By default,number-and-pickle-if-parameterizedis used.- When set to
numberexamples are numbered. So the first example of the first examples section would be named#1.1 - When set to
picklethe pickle name is used. So for scenario nameAdding <a> and <b>and example with paramsa = 10andb = 20the following name would be produced:Adding 10 and 20. - When set to
number-and-pickle-if-parameterizedthe name would be rendered as#1.1: Adding 10 and 20.
- See Also:
- When set to
-
JUNIT_PLATFORM_DISCOVERY_AS_ROOT_ENGINE_PROPERTY_NAME
@API(status=EXPERIMENTAL, since="7.26.0") public static final String JUNIT_PLATFORM_DISCOVERY_AS_ROOT_ENGINE_PROPERTY_NAMEProperty name used to enable discovery as a root engine: "cucumber.junit-platform.discovery.as-root-engine"Valid values are
true,false. Default:true.As an engine on the JUnit Platform, Cucumber can participate in discovery directly as a "root" engine. Or indirectly when used through the JUnit Platform Suite Engine.
Some build tools assume that all root engines produce class based tests. This is not the case for Cucumber. Running Cucumber through the JUnit Platform Suite Engine. Disabling discovery as a root engine resolves this.
Note: If a build tool supports JUnits include/exclude Engine configuration that option should be preferred over this property.
- See Also:
-
PLUGIN_PROPERTY_NAME
Property name to enable plugins: "cucumber.plugin"A comma separated list of
[PLUGIN[:PATH_OR_URL]]e.g:json:target/cucumber.json.Built-in formatter PLUGIN types:
- html
- pretty
- progress
- summary
- json
- usage
- rerun
- junit
- testng
PLUGINcan also be a fully qualified class name, allowing registration of 3rd party plugins.- See Also:
-
PLUGIN_PUBLISH_ENABLED_PROPERTY_NAME
- See Also:
-
PLUGIN_PUBLISH_TOKEN_PROPERTY_NAME
Property name to publish with bearer token: "cucumber.publish.token"Enabling this will publish authenticated test results online.
- See Also:
-
PLUGIN_PUBLISH_QUIET_PROPERTY_NAME
Property name to suppress publishing advertising banner: "cucumber.publish.quiet"Valid values are
true,false.- See Also:
-
OBJECT_FACTORY_PROPERTY_NAME
Property name to select custom object factory implementation: "cucumber.object-factory"By default, if a single object factory is available on the class path that object factory will be used.
- See Also:
-
UUID_GENERATOR_PROPERTY_NAME
Property name to select custom UUID generator implementation: "cucumber.uuid-generator"By default, if a single UUID generator is available on the class path that object factory will be used, or more than one UUID generator and the #RandomUuidGenerator are available on the classpath, the #RandomUuidGenerator will be used.
- See Also:
-
SNIPPET_TYPE_PROPERTY_NAME
Property name to control naming convention for generated snippets: "cucumber.snippet-type"Valid values are
underscoreorcamelcase.By defaults are generated using the underscore naming convention.
- See Also:
-
EXECUTION_MODE_FEATURE_PROPERTY_NAME
Property name used to set the executing thread for all scenarios and examples in a feature: "cucumber.execution.execution-mode.feature"Valid values are
same_threadorconcurrent. Default value isconcurrent.When parallel execution is enabled, scenarios are executed in parallel on any available thread. setting this property to
same_threadexecutes scenarios sequentially in the same thread as the parent feature. -
EXECUTION_ORDER_PROPERTY_NAME
Property name used to set execution order: "cucumber.execution.order"Valid values are
lexical,reverseorrandom.By default, features are executed in lexical file name order and scenarios in a feature from top to bottom.
- See Also:
-
EXECUTION_ORDER_RANDOM_SEED_PROPERTY_NAME
Property name used to set the seed for random execution order: "cucumber.execution.order.random.seed"Valid values are any value understood by
Long.decode(String). If omitted a random seed is used instead. The exact value can be obtained by listening for discovery issues.- See Also:
-
PARALLEL_EXECUTION_ENABLED_PROPERTY_NAME
Property name used to enable parallel test execution: "cucumber.execution.parallel.enabled"By default, tests are executed sequentially in a single thread.
- See Also:
-
EXECUTION_EXCLUSIVE_RESOURCES_READ_WRITE_TEMPLATE
Property template used to describe a mapping of tags to exclusive resources: "cucumber.execution.exclusive-resources.<tag-name>.read-write"This maps a tag to a resource with a read-write lock.
For example given these properties:
cucumber.execution.exclusive-resources.my-tag-ab-rw.read-write=resource-a,resource-b cucumber.execution.exclusive-resources.my-tag-a-r.read=resource-aA scenario tagged with
@my-tag-ab-rwwill lock resourceaandbfor reading and writing and will not be concurrently executed with other scenarios tagged with@my-tag-ab-rwas well as scenarios tagged with@my-tag-a-r. However a scenarios tagged with@my-tag-a-rwill be concurrently executed with other scenarios with the same tag. -
EXECUTION_EXCLUSIVE_RESOURCES_READ_TEMPLATE
Property template used to describe a mapping of tags to exclusive resources: "cucumber.execution.exclusive-resources.<tag-name>.read"This maps a tag to a resource with a read lock.
-
PARALLEL_CONFIG_STRATEGY_PROPERTY_NAME
Property name used to determine the desired configuration strategy: "cucumber.execution.parallel.config.strategy"Value must be one of
dynamic,fixed, orcustom.- See Also:
-
PARALLEL_CONFIG_FIXED_PARALLELISM_PROPERTY_NAME
Property name used to determine the desired parallelism for theDefaultParallelExecutionConfigurationStrategy.FIXEDconfiguration strategy: "cucumber.execution.parallel.config.fixed.parallelism"No default value; must be an integer.
- See Also:
-
DefaultParallelExecutionConfigurationStrategy.FIXED- Constant Field Values
-
PARALLEL_CONFIG_FIXED_MAX_POOL_SIZE_PROPERTY_NAME
Property name used to determine the maximum pool size for theDefaultParallelExecutionConfigurationStrategy.FIXEDconfiguration strategy: "cucumber.execution.parallel.config.fixed.max-pool-size"Value must be an integer and greater than or equal to "cucumber.execution.parallel.config.fixed.parallelism"; defaults to
256 + fixed.parallelism.- See Also:
-
DefaultParallelExecutionConfigurationStrategy.FIXED- Constant Field Values
-
PARALLEL_CONFIG_DYNAMIC_FACTOR_PROPERTY_NAME
Property name of the factor used to determine the desired parallelism for theDefaultParallelExecutionConfigurationStrategy.DYNAMICconfiguration strategy: "cucumber.execution.parallel.config.dynamic.factor"Value must be a decimal number; defaults to
1.- See Also:
-
DefaultParallelExecutionConfigurationStrategy.DYNAMIC- Constant Field Values
-
PARALLEL_CONFIG_CUSTOM_CLASS_PROPERTY_NAME
Property name used to specify the fully qualified class name of theParallelExecutionConfigurationStrategyto be used by theDefaultParallelExecutionConfigurationStrategy.CUSTOMconfiguration strategy: "cucumber.execution.parallel.config.custom.class"- See Also:
-
DefaultParallelExecutionConfigurationStrategy.CUSTOM- Constant Field Values
-