首页 > 解决方案 > Cucumber 功能无法识别 IntelliJ 中的步骤

问题描述

我正在使用 JUnit 测试配置来运行我的测试,并且功能文件正确识别了它的相关步骤定义。在最近的 IntelliJ 更新(到 Ultimate 2020)之后,我的功能文件将所有 Gherkin 语句显示为未定义。即使我尝试通过悬停使用“创建步骤定义”链接创建一个虚拟的,它也会抱怨文件位置的“步骤定义目录路径不正确”。这些是我遵循的:

  1. 访问了这些现有的 Stackoverflow 链接 IntelliJ 与黄瓜(java)和步骤定义位置 IntelliJ 中未定义的步骤定义
  2. 我的 IntelliJ 是否“使缓存无效并重新启动”。
  3. 我的项目结构是 src/main/java/xxxx/stepDefinitions (用于我的 .java 步骤定义)和 src/main/resources/features (用于我的 .feature 文件)。已经将我的“资源”标记为“测试资源根”,将“java”标记为“源根”。确保更新后它们仍然相同。
  4. 禁用插件(Java 的 Cucumber,Groovy 的 Cucumber,Gherkin),重新启动,然后重新启用它们。
  5. 编辑配置的 JUnit 运行器在更新后没有受到干扰。我这里没有胶水设置并将它们放在我的 JUnit Runner 类中。这是一个简短的片段。此外,删除所有现有配置并仅保留 JUnit。
    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = {"classpath:features"}
            ,glue = "xxxx/stepDefinitions"
            ,tags = {"@xxx","@yyyy"}
            ,plugin ={"com.vimalselvam.cucumber.listener.ExtentCucumberFormatter:target/report/report.html"}
    )

有人可以帮忙解决任何缺失的步骤并解决我的问题吗?

标签: intellij-ideacucumbercucumber-javacucumber-junit

解决方案


推荐阅读