我尝试创建一个仅用于测试和使用其特殊属性的特殊bean。
我有application.yml
和application-test.yml
文件:用于测试的属性我只想保留在第二个文件中。
我已经创建了一个特殊的测试配置文件,但是无法启动spring boot上下文,因为它无法在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
文件中也具有相同的属性)
是否可以具有一些专门用于测试的特殊属性?
答案 0 :(得分:2)
将具有所需测试属性的application.yml
副本放入您的src/test/resources
目录中。
答案 1 :(得分:0)
edit:我现在意识到我对您的用例有一些误读。例如,如果您要将应用程序部署到测试环境并需要为此配置应用程序,则我的解决方案适用。
您可以通过使用弹簧轮廓来完成此操作。该博客介绍了您需要的一切: https://www.baeldung.com/spring-profiles 如果您的配置文件设置为测试,则除了application.yml外,您的应用程序还应自动使用application-test.yml。如果在application.yml和application-test.yml中都定义了属性,则应在application-test.yml中使用该属性