Cucumber Runner
A plugin to use CucumberJS in StrykerJS
🥒 💖 👽
Note: this plugin only supports the @cucumber/cucumber
nodejs test runner. If you're running cucumber with Jest or Karma, be sure to use those respective test runners instead.
Install
Install @stryker-mutator/cucumber-runner locally within your project folder, like so:
npm i --save-dev @stryker-mutator/cucumber-runner
Peer dependencies
The @stryker-mutator/cucumber-runner
is a plugin for stryker
to enable @cucumber/cucumber
as a test runner.
As such, you should make sure you have the correct versions of its dependencies installed:
@cucumber/cucumber
@stryker-mutator/core
You can find the peerDependencies
in @stryker-mutator/cucumber-runner's package.json file.
Configuring
You can configure the cucumber test runner in the stryker.conf.json
(or stryker.conf.js
) file.
{
"testRunner": "cucumber",
"cucumber": {
"profile": "stryker",
"features": ["my-features/my-feature.feature"],
"tags": ["my-tag"]
}
}
The cucumber runner supports loading cucumber profiles from your cucumber.js
configuration file. The default
profile will automatically be loaded if none was specified.
cucumber.profile
[string
]
Default: "default"
Choose which profile to run. See cucumber profiles
cucumber.features
[string[]
]
Default: ["features"]
Choose which features to load. See Running specific features.
cucumber.tags
[string[]
]
Default: undefined
Choose which tags to focus. See Tags.
Coverage analysis
The @stryker-mutator/cucumber-runner
plugin supports coverage analysis, test filtering and test location reporting. This means that --coverageAnalysis perTest
(which is the default) is supported and will yield the best performance.
Non-standard feature file locations
As of @stryker-mutator/cucumber-runner
version 6.1, non-standard feature file locations are supported out of the box.