You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cucumber 7.11.0无法找到feature文件,JUnit平台套件引擎报错

问题排查与解决方案

可能的原因及对应修复步骤

1. Failsafe插件配置干扰资源加载

你给maven-failsafe-plugin加了<useSystemClassLoader>false</useSystemClassLoader>,这会导致Cucumber没法从测试类路径里找到features目录下的文件。另外forkCount=0(不创建独立进程运行测试)也可能和类加载器设置冲突,影响资源扫描。

修复方案:
调整插件配置,移除useSystemClassLoader设置(或改成true),同时建议用默认的forkCount=1(通过独立进程运行测试,避免类加载器污染):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>3.0.0-M8</version>
    <configuration>
        <forkCount>1</forkCount>
        <skip>${release}</skip>
    </configuration>
    <executions>
       <execution>
          <goals>
             <goal>integration-test</goal>
              <goal>verify</goal>
          </goals>
       </execution>
    </executions>
</plugin>

2. TestRunner注解路径匹配不明确

虽然项目结构里features在src/test/resources下,@SelectClasspathResource("features")理论上没问题,但可以试试更明确的写法,或者把Glue路径精确到stepdefinition包:

@Suite
@IncludeEngines("cucumber")
// 直接指定具体feature文件,确保路径指向类路径根下的资源
@SelectClasspathResource("features/test.feature")
@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty")
// 精确指定step定义所在包,减少不必要的扫描
@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "com.app.rs.api.cucumber.stepdefinition")
public class TestRunner {}

3. JUnit平台依赖缺失

Failsafe插件运行时可能需要junit-platform-launcher来启动测试引擎,你当前的依赖里没加这个,补充到测试依赖中:

<dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-launcher</artifactId>
    <version>1.9.2</version>
    <scope>test</scope>
</dependency>

4. 测试资源未正确复制到编译目录

执行mvn clean test-compile后,检查target/test-classes/features目录下是否有test.feature文件。如果没有,说明Maven没把测试资源复制过去,检查pom.xml里有没有自定义的maven-resources-plugin配置导致资源被忽略,调整配置确保src/test/resources下的内容能被正常复制。

验证步骤

  1. 执行mvn clean verify,观察是否还存在测试引擎错误和找不到feature文件的问题。
  2. 如果还是有问题,先在IDE里直接运行TestRunner类,确认是否能正常找到feature文件,排除Maven插件层面的问题。

内容的提问来源于stack exchange,提问作者Reid2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:46:05