Cucumber集成Spring配置无法运行测试,提示CucumberBackendException如何解决?
问题解决方案
- 修正
@CucumberOptions参数配置
Cucumber的glue参数要求填写Java类的全限定包名,不能写源码目录路径,同时指定feature文件的参数为features而非steps,修正后配置如下:@RunWith(Cucumber.class) @CucumberOptions(features = "path/to/features", glue = {"package.steps", "package.config"}) public class CucumberRunner { } - 修正配置类语法错误
@EnableConfigurationProperties注解需使用小括号包裹配置类,而非大括号,同时建议给SpringConfig补充@SpringBootConfiguration注解保证Spring上下文正确识别:@SpringBootConfiguration @ComponentScan("package") @EnableConfigurationProperties(PropertyClasses.class) public class SpringConfig { } - 调整测试配置类位置与继承逻辑
标注了@CucumberContextConfiguration的StepsSpringConfig属于测试上下文配置类,建议移动到src/test/java/package/steps目录下,避免main包引入测试依赖;同时Step类不需要继承该配置类,只要和该配置类在同一个glue扫描包下,即可直接使用@Autowired注入所需Bean,继承反而会导致上下文初始化异常。 - 检查测试类路径
确保IDEA的测试运行配置中,工作目录指向项目根目录,测试类路径包含了main和test的编译输出目录,避免出现类加载失败问题。
内容的提问来源于stack exchange,提问作者Krwasch
相关产品推荐
相关产品推荐

