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

Test Runner无法找到Step Definitions,所有测试均被忽略求助

解决Cucumber Test Runner无法找到步骤定义的问题
  • 核对Test Runner的包路径配置
    确保Runner类的@CucumberOptions注解中,glue参数指定的包路径和步骤定义(Step Definitions)所在包完全一致。示例代码:

    @CucumberOptions(
        features = "src/test/resources/features",
        glue = "com.yourpackage.steps" // 必须匹配步骤定义的实际包名
    )
    

    注意包名的拼写、大小写不能出错。

  • 检查步骤定义的访问权限
    所有步骤定义方法必须是public修饰符,不能用private或默认权限,否则Test Runner无法识别。示例:

    @Given("用户进入登录页面")
    public void userNavigatesToLoginPage() {
        // 业务逻辑代码
    }
    
  • 验证Gherkin语句与步骤定义的匹配度
    Gherkin文件中的场景语句必须和步骤定义注解里的字符串完全匹配,包括空格、标点符号(参数占位符除外)。比如Gherkin写用户输入密码"123456",步骤定义注解就要是@When("用户输入密码{string}")。

  • 确认项目目录结构合规

    • Features文件需放在src/test/resources目录下的对应子文件夹,确保Runner的features参数能正确定位。
    • 步骤定义类要放在src/test/java下的对应包内,和glue参数指定路径一致。
  • 清理缓存并重构项目
    执行项目构建工具的清理命令:Maven项目用mvn clean install,Gradle项目用gradle clean build,之后重启IDE再运行Test Runner,避免IDE缓存导致的类加载问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:27:51