spring - 如何用 cucumber 激活 Spring 启动配置文件

标签 spring testing spring-boot cucumber feature-file

我正在寻找一种为我的 cucumber 测试激活 Spring 配置文件的好方法。 cucumber 测试需要使用标记有以下内容的 stub 版本的服务:

@Profile("test")
@Component
class FooServiceStub extends FooService {...}

常规服务如下所示:

@Profile("prod")
@Component
class FooService {...}    

我的要求:

  • 使用 mvn 运行 cucumber 测试:$ mvn test
  • 在 IDE 中运行 cucumber 测试
  • 在构建服务器上运行 cucumber 测试
  • 无需使用 -Dspring.profiles.active=... 参数

我找到但没有解决我的问题的资源:

最佳答案

在最近的 Cucumber 版本 (6.11.0) 中,你需要一个带有 spring 配置的类,你必须注释那个类,而不是步骤定义

@ActiveProfiles("test")
@CucumberContextConfiguration
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class CucumberSpringConfiguration {
}

关于spring - 如何用 cucumber 激活 Spring 启动配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43203301/

相关文章:

java - Apache Camel - 使用 Spring Security 进行 Camel 路由的基本身份验证

java - 是否可以在 Junit 测试中运行 java 程序?

html - 如何通过指向 REST api 的 href 标签显示图像?

java - 等待 Spring 应用程序中的线程完成

spring - 为什么我不能在 Spring MVC 中使用 Valid 参数和 RequestParam?

Spring Security自动登录拦截

ruby-on-rails - Ruby on Rails - 测试时的 TDD 测试错误

testing - VSTS - 如何获得代码覆盖率结果

spring - 如何在bootJar中有条件地启用launchScript()?

java - 未能实例化 WebApplicationInitializer - Tomcat 启动