@SpringBootTest 使用错误 application.yml
@SpringBootTest uses the wrong application.yml
我有一个 spring 引导应用程序,在 main/resources 中的应用程序-development.yml 中配置了 MySQL 数据库,当 运行 应用程序。
我还在 test/resources 中创建了一个应用程序-test.yml,它配置了一个 H2 数据库,并将 h2 数据库添加到范围为 test 的 pom。
毕竟我已经创建了一个带有 @SpringBootTest
注释的集成测试,该注释使用主要的 Application.class
。 运行 然而,这些测试似乎想要初始化 MySQL 数据库,因为我看到正在使用这些凭据。
我尝试使用自定义 DataSource
实例创建自定义 @TestConfiguration
class,但它似乎没有任何效果,即使我将其设置为唯一配置 class(即 @SpringBootTest(classes = {TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
而不是 @SpringBootTest(classes = {Application.class, TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
)
它不断尝试使用main/resources/application-development.yml中定义的配置。怎么了?
尝试在 class 以上 @SpringBootTest
.
测试中添加以下行
@ActiveProfiles("test")
我有一个 spring 引导应用程序,在 main/resources 中的应用程序-development.yml 中配置了 MySQL 数据库,当 运行 应用程序。
我还在 test/resources 中创建了一个应用程序-test.yml,它配置了一个 H2 数据库,并将 h2 数据库添加到范围为 test 的 pom。
毕竟我已经创建了一个带有 @SpringBootTest
注释的集成测试,该注释使用主要的 Application.class
。 运行 然而,这些测试似乎想要初始化 MySQL 数据库,因为我看到正在使用这些凭据。
我尝试使用自定义 DataSource
实例创建自定义 @TestConfiguration
class,但它似乎没有任何效果,即使我将其设置为唯一配置 class(即 @SpringBootTest(classes = {TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
而不是 @SpringBootTest(classes = {Application.class, TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
)
它不断尝试使用main/resources/application-development.yml中定义的配置。怎么了?
尝试在 class 以上 @SpringBootTest
.
@ActiveProfiles("test")