仅在春季进行测试才能启用属性



我尝试创建一个特殊的bean用于测试和使用特殊属性。

我有 application.ymlapplication-test.yml文件:我只想保留第二个的测试属性。

我已经创建了一个特殊的测试配置文件,但是无法启动弹簧启动上下文,因为它在application.yml中找不到相同的属性。

@TestConfiguration
@EnableConfigurationProperties(
    TestProperties::class
)
class TestPropertiesConfiguration
@ConfigurationProperties("test")
data class TestProperties(
    val property1: String,
    val property2: String
)

application-test.yml:

test:
  property1: value
  property2: value

(Spring Boot期望在常规application.yml文件中也有相同的属性(

是否可以完全具有一些特殊属性来进行测试?

在您的src/test/resources目录中放置带有所需测试属性的application.yml副本。

编辑:我现在意识到我有些误解了您的用户酶。例如,如果您想将应用程序部署到测试环境并需要为此配置您的应用程序。

您可以使用春季配置文件来实现此目标。该博客解释了您需要的一切:https://www.baeldung.com/spring-profiles如果您的配置文件设置为测试,则您的应用程序还应自动使用应用程序 - test.yml。如果在application.yml和application-test.yml中定义了属性,则应在application-test.yml

中使用该属性。

最新更新