运行 Cucumber 测试有无 Spring 上下文

Run Cucumber tests with and without Spring context

我正在尝试将 Cucumber 集成到现有的 Spring 引导项目中。
当前项目是单个Maven模块。
单元测试(没有 Spring 上下文)和集成测试(有 Spring 上下文)组合在同一个测试文件夹中。

我想做的是能够调整我的单元测试和集成测试。
但是一旦我添加 cucumber-spring 依赖项(为了能够 运行 一个 Spring 上下文与规范一起)它要求文件夹中的所有测试都用 [=14= 注释].

下面是我配置的测试套件以获取测试规范。

@Suite
@IncludeEngines("cucumber")
@SelectClasspathResource("org/example/project")
@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty")
public class CucumberTest {
}

是否可以将这两种测试结合起来? 如果是怎么办?

关于我正在使用的信息:

您可以通过cucumber.object-factory 属性 控制使用的对象工厂。因此,假设您有一个或多个对象工厂作为您的依赖项:

<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-spring</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <scope>test</scope>
</dependency>

然后您可以 select spring 使用:

@ConfigurationParameter(key = OBJECT_FACTORY_PROPERTY_NAME, value = "io.cucumber.spring.SpringFactory")

Pico 容器有:

@ConfigurationParameter(key = OBJECT_FACTORY_PROPERTY_NAME, value = "io.cucumber.picocontainer.PicoFactory")

或者从 v7.1 开始,两者都没有:

@ConfigurationParameter(key = OBJECT_FACTORY_PROPERTY_NAME, value = "io.cucumber.core.backend.DefaultObjectFactory")