IntelliJ运行feature文件提示Undefined scenarios问题如何解决?
问题原因与解决方法
你遇到的Undefined scenarios报错核心原因是Cucumber运行时没有找到和feature文件步骤对应的实现代码,你当前用的默认运行配置不正确,需要做以下调整:
1. 首先补全运行配置的Glue字段
从你提供的配置截图可以看到,运行配置里的Glue输入框是空的,这是问题的直接诱因:
- 你需要把你的项目中存放Cucumber步骤定义类的完整包路径填写到Glue输入框中,比如你的步骤类放在
com.test.bdd.steps包下,就填入这个包名即可,Cucumber会扫描该包下的所有步骤注解。
2. 确认步骤定义匹配规则
如果补全Glue后还是报同样错误,检查步骤定义的注解内容是否和feature文件的语句完全匹配:
- 日志中输出的代码片段里注解仅包含
{actor}占位符,说明你的feature文件里的Given/When/Then语句结构匹配到了actor类型参数,你可以直接把日志给出的代码片段复制到你的步骤定义类中,运行测试如果报错从undefined变为PendingException,说明配置已经生效,只需要补全步骤里的业务逻辑即可。
3. 额外检查项
- 确认项目中所有Cucumber相关依赖(core、java、junit等)的版本号完全一致,版本不兼容也会导致步骤扫描失败
- 确认步骤定义类存放在
src/test/java目录下,不要放到主源码目录中
内容的提问来源于stack exchange,提问作者user2201789
相关产品推荐
相关产品推荐

