【问题标题】:In Eclipse, Cucumber feature steps not recognizing step definitions在 Eclipse 中,Cucumber 功能步骤无法识别步骤定义
【发布时间】:2020-12-17 15:58:14
【问题描述】:

我的 Runner 类如下:

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(features = "src/test/resources/features/"
    ,glue={"com.stepdefs"}
    ,dryRun=false
    ,monochrome=true
    ,plugin = {pretty})

public class Runner {
}

我对使用 maven 执行它们没有任何问题。它工作得很好。只有 Eclipse 的功能步骤无法识别任何步骤定义的问题。所以我无法使用 F3 找到它们。我也在下面添加了这个依赖:

      <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>gherkin</artifactId>
        <version>3.2.0</version>
     </dependency>

我还将项目转换为黄瓜项目,在 Eclipse 中添加了黄瓜插件。我的 Eclipse 版本是 2020-12。还是没有运气。

【问题讨论】:

  • 您是否检查了 Eclipse 的编译文件以查看预期位置是否存在内容? Maven/Gradle 在别处创建它们(Maven 的 .m1,如果有记忆的话),因此 Maven 能够运行它并不意味着 Eclipse 可以运行它。

标签: eclipse selenium-webdriver eclipse-plugin cucumber serenity-bdd


【解决方案1】:

我正在使用 cucumber6,我认为这是 cucumber 4 及更高版本的现有问题:

https://github.com/cucumber/cucumber-eclipse/issues/372

https://github.com/cucumber/cucumber-eclipse/issues/368

【讨论】:

    【解决方案2】:

    在我的项目中,我将类名作为定义的一部分,例如:

    glue={"com.stepdefs.StepDefinitions"}
    

    【讨论】:

    • 我在下面试过这个:glue={"com.stepdefs", "com.stepdefs.A_StepDef" , "com.stepdefs.B_StepDef", "com.stepdefs.C_StepDef"} 这里是 com.stepdefs是包名。
    • 也没有帮助
    • 这是我之前给出的答案:stackoverflow.com/a/59980602/3355860
    • 我不认为你的问题是胶水本身。如果是这样,您可以将其设置为“com”并捡起东西,因为它会沿着该包路径查找任何地方。
    • @Taelus 看起来这是一个现有的黄瓜版本问题:github.com/cucumber/cucumber-eclipse/issues/372
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    • 2017-01-05
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多