Java 8 黄瓜配junit5和java8

Java 8 黄瓜配junit5和java8,java-8,cucumber,junit5,Java 8,Cucumber,Junit5,我正在尝试为用java11编写的spring引导应用程序创建BDD测试,并使用junit5进行测试 我正在尝试cucumber的6.9.1版,我对这部分的依赖性是: <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-java8</artifactId> <version>${cucumber.version}&

我正在尝试为用java11编写的spring引导应用程序创建BDD测试,并使用junit5进行测试

我正在尝试cucumber的6.9.1版,我对这部分的依赖性是:

<dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-java8</artifactId>
      <version>${cucumber.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.cucumber</groupId>
      <artifactId>cucumber-junit-platform-engine</artifactId>
      <version>${cucumber.version}</version>
      <scope>test</scope>
    </dependency>

黄瓜
黄瓜-java8
${cumber.version}
测试
黄瓜
junit平台引擎
${cumber.version}
测试
我在cucumber文档中没有找到一个示例,我尝试融合了一些我在网上找到的代码片段,这些代码片段显示此依赖项列表已经足够了。但是,当我尝试它们的示例时,我找不到以下任何一个:

  • CucumberExtension——取而代之的是一个注释@Cucumber,它似乎正在这样做
  • @CucumberOptions—有一个接口CucumberProptions,我可以实现并返回所有必需的属性,但这感觉像是从参数化注释后退了一步
  • 有人能提供指南、文档或任何其他方式来实现我的目标吗


    谢谢

    值得一读JUnit5的简介。您认为JUnit5是一个整体,这是一个常见的错误。而是:

    与以前版本的JUnit不同,JUnit5由来自三个不同子项目的几个不同模块组成

    JUnit 5=JUnit平台+JUnit Jupiter+JUnit Vintage

    与JUnit Jupiter一样,Cucumber是使用JUnit平台的测试引擎。扩展是JUnit Jupiter的一个概念,不会延续到Cucumber

    没有一个例子,我可以在cucumber文档中找到

    在JUnit5功能集成完成之前,您不会在主文档中找到任何内容。在此之前,完全可以将黄瓜JUnit 4与JUnit Vintage结合使用

    但是,如果您更注重实验,您可以将文档与源代码一起使用:

    @CucumberOptions—有一个接口CucumberProptions,我可以实现并返回所有必需的属性,但这感觉像是从参数化注释后退了一步

    Cucumber JUnit平台集成默认扫描类路径根上的胶水和特性。如果遵循传统的maven/gradle/java项目布局,则不需要额外的配置

    因此,步骤定义在
    src/test/java/com/example
    中,特性在
    src/test/resources/com/example


    如果您有一个更复杂的设置,您应该等待并使用JUnit4/Junit Vintage,或者简化您的设置。

    您可能想从以下示例开始:这个示例与OP犯了同样的错误,认为需要Jupiter而不是平台。虽然这不是直接的解决方案,它把我引向了正确的方向。我的应用程序中也有spring boot,但我希望以缓慢而稳定的方式启动。