我有一个运行黄瓜测试的 SpringBoot 项目。
我添加了以下3个依赖项:
我的黄瓜背景:
@SpringBootTest
@CucumberContextConfiguration
public class CucumberIntegrationConfiguration { }
如果我运行 .feature 文件,它将启动我的 SpringBoot 项目。但我需要能够从 gradle 运行它。
为此我需要进行此测试
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/features/Dummy.feature",
glue = "com.chrispie.steps")
class CucumberIntegrationTest {}
如果我尝试从 IntelliJ 或 Gradle 运行此 CucumberIntegrationTest,我会得到
Test events were not found
。
有没有办法让它工作?可以用 JUnit 5 来完成吗?
您正在使用支持 JUnit 4 的
cucumber-junit
。
现在您没有包含 Gradle 配置,但假设它已针对最新版本的 Spring Boot 正确设置,则使用 JUnit 平台。这只支持 JUnit 5。
您可以使用 JUnit 5 中的 JUnit Vintage 引擎通过 JUnit 5 运行 JUnit 4 测试。或者您可以使用
cucumber-junit-platform-engine
。 cucumber-java-skeleton
显示了如何操作。