我正在将 webdriverio 与 cucumber 一起使用,并且想清除我的项目中未使用的步骤定义和代码。我尝试使用此“cucumber-js --dry-run --format use”,但结果收到“无步骤定义”。有人可以告诉我是否必须添加一些额外的参数、一些配置或某物。别的。或者有其他方法可以做到这一点?或者也许有一些合适的工具或插件。
可能是在你的 Cucumber 配置中你没有指向
step-definitions
文件夹。这是我的配置,注意 require
指向 step-definitions
文件夹,paths
指向 features
文件夹:
/**
* @exports Cucumber default config
*/
export default {
paths: ['src/features/**/*.feature'],
parallel: 2,
requireModule: ['ts-node/register'],
require: ['src/step-definitions/**/*.ts'],
strict: true,
format: ['json:reports/cucumber-report.json', 'progress'],
formatOptions: {
snippetInterface: 'async-await'
}
};
然后这是我用来检查未定义和步骤用法的脚本,它们位于我的
package.json
内。
"scripts": {
"features:usage": "cucumber-js src/features/ --format usage --dry-run",
"features:undefined": "cucumber-js src/features/ --format snippets --dry-run"
}
features:usage
记录已定义的 .steps
文件步骤以及正在使用哪个 .feature
文件步骤。
features:undefined
以这种格式记录未定义的步骤:
Then('Random step', async function () {
// Write code here that turns the phrase above into concrete actions
return 'pending';
});
我正在使用
npm
,因此我会像 npm run features:usage
一样运行它们。
参考资料: