我正在尝试为用 java11 编写的 Spring Boot 应用程序创建 BDD 测试,并使用 junit5 进行测试。
我正在尝试 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>
没有一个例子,我可以在黄瓜文档中找到我尝试融合一些我在网上找到的片段,这些片段显示这个依赖列表就足够了,但是,当我尝试他们的样本时,我找不到以下任何一个:< /p>
谁能提供指南、文档或任何其他方式来实现我的目标?
谢谢
答案 0 :(得分:1)
JUnit 5 的介绍值得一读。您常犯的一个错误是认为 JUnit 5 是一个整体。而是:
https://junit.org/junit5/docs/current/user-guide/#overview-what-is-junit-5
<块引用>与以前版本的 JUnit 不同,JUnit 5 由来自三个不同子项目的几个不同模块组成。
JUnit 5 = JUnit 平台 + JUnit Jupiter + JUnit Vintage
与 JUnit Jupiter 一样,Cucumber 是一个使用 JUnit 平台的测试引擎。扩展是 JUnit Jupiter 的一个概念,不会延续到 Cucumber。
<块引用>我在黄瓜文档中找不到一个例子。
在 JUnit 5 集成功能完成之前,您将不会在主文档中找到任何内容。在此之前,完全可以使用 Cucumbers JUnit 4 与 JUnit Vintage 的集成。
但是,如果您更有实验意识,可以使用包含源代码的文档:
https://github.com/cucumber/cucumber-jvm/tree/main/junit-platform-engine
<块引用>@CucumberOptions - 有一个接口 CucumberOptions,我可以实现并返回所有必需的属性,但这感觉就像是参数化注释的后退。
Cucumber JUnit 平台集成默认扫描类路径根上的胶水和功能。如果遵循常规的 maven/gradle/java 项目布局,则无需额外配置。
因此步骤定义在 src/test/java/com/example
中,特征在 src/test/resources/com/example
中。
如果您有更复杂的设置,您应该等待并使用 JUnit4/Junit Vintage 或简化您的设置。