Cucumber Feature文件无法通过Test Runner执行,无任何输出
排查Cucumber Test Runner无输出问题
检查Feature文件有效性
- 确认
src/test/java/AppFeatures目录下存在.feature格式文件,且文件开头有Feature:定义、包含Scenario节点。若目录下无有效Feature文件,Cucumber会静默执行完毕无输出。 - 核对路径拼写,注意操作系统大小写敏感性,确保
AppFeatures与实际目录名完全一致。
- 确认
核对Glue包配置
- 检查
StepDefinations包(注意拼写:标准写法为StepDefinitions,可能存在拼写错误)是否存在步骤定义类,类中是否使用io.cucumber.java.en.Given/When/Then等注解,且注解文本与Feature文件步骤完全匹配(含空格、大小写)。若Glue路径指向无效包或无匹配步骤定义,Cucumber不会执行任何场景。
- 检查
验证依赖兼容性
- 确认项目依赖中Cucumber与JUnit版本兼容:
@RunWith(Cucumber.class)是JUnit 4的写法,若依赖的是JUnit 5会导致执行异常但无输出;Cucumber 7.x及以上版本需配合JUnit 5使用@Cucumber注解而非@RunWith。 - 检查是否缺失
cucumber-junit、cucumber-java等核心依赖。
- 确认项目依赖中Cucumber与JUnit版本兼容:
排查IDE运行配置
- 确认IDE运行配置以
AmazonTest类为入口,未添加错误的VM参数或环境变量。 - 清理IDE缓存并重新构建项目,避免缓存导致类加载异常。
- 确认IDE运行配置以
强制开启输出日志
- 在
@CucumberOptions中添加plugin = {"pretty"},强制Cucumber输出执行日志,即使无场景执行也会输出0 scenarios等提示,帮助判断Feature是否被识别。修改后的配置示例:@CucumberOptions( features= {"src/test/java/AppFeatures"}, glue= {"StepDefinations"}, plugin = {"pretty"} )
- 在
内容的提问来源于stack exchange,提问作者Nitesh Agrawal
相关产品推荐
相关产品推荐

