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

Cucumber配置@CucumberOptions后报NoSuchMethodError无法运行feature用例

问题根因

这个java.lang.NoSuchMethodError错误和你排查时误以为的feature路径无关,本质是Cucumber版本和JUnit版本不兼容导致的:

  • 你使用的Cucumber 7.0.0最低要求JUnit 4.13及以上版本
  • 你当前POM中固定了JUnit版本为[4.10],这个版本的org.junit.runner.Description类不存在报错里提到的三个入参的createSuiteDescription方法,所以运行时直接抛出方法不存在错误。
解决步骤
  1. 修改POM.xml中的JUnit依赖配置,把固定的4.10版本升级到JUnit4的最新稳定版4.13.2,修改后配置如下:
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>
  1. 清理本地Maven缓存后重新构建项目,执行命令:
    mvn clean install -U
  2. 重启IDE后重新运行测试即可解决该问题。
额外注意事项
  • 后续升级Cucumber版本时,优先确认对应兼容的JUnit版本,避免再次出现版本不匹配问题
  • 不要给JUnit加严格的固定版本限制(你之前使用的[4.10]写法会强制只能用4.10版本,没有升级空间),如果需要锁定大版本可以用[4.13,5.0)这样的范围写法,允许兼容的小版本升级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:27:03