Cucumber测试场景及步骤全部被跳过,寻求解决方法
Cucumber测试场景及步骤全部跳过的解决办法
核心原因
你的cucumber.json配置中开启了dryRun: true,这个参数的作用是仅校验Feature文件与步骤定义的语法匹配性,不会实际执行任何测试场景,因此所有场景和步骤都会被标记为跳过。
解决步骤
- 打开项目根目录下的
cucumber.json配置文件 - 将
"dryRun": true修改为"dryRun": false,或者直接删除该配置项(Cucumber默认dryRun为false)
修改后的cucumber.json示例:
{ "default":{ "formatOptions":{ "snippetInterface": "async-await" }, "paths": [ "src/features/*.feature" ], "publishQuiet": true, "require":["src/tests/specs/*.ts"], "requireModule": ["ts-node/register"] } }
额外检查项
除了上述核心问题,还可以排查以下潜在问题避免后续执行异常:
- 检查Feature文件中的步骤拼写:比如最后一步
The peron is successfully assigned存在拼写错误(peron应为person),会导致步骤定义无法匹配 - 确认
src/tests/specs/*.ts下的步骤定义文件中,所有Feature里的步骤都有对应的Given/When/Then实现代码 - 验证
ts-node/register是否正确安装,确保TypeScript代码能被正常解析
内容的提问来源于stack exchange,提问作者joanna
相关产品推荐
相关产品推荐

