@SpringBootTest使用了错误的application.yml

时间:2018-05-22 07:10:26

标签: spring-boot configuration integration-testing h2

我在main / resources中的application-development.yml中有一个带有已配置的MySQL数据库的spring启动应用程序,它在运行应用程序时已正确加载并正常工作。

我还在test / resources中创建了一个application-test.yml,用于配置H2数据库,并通过范围测试将h2-database添加到pom中。

毕竟,我已使用@SpringBootTest注释创建了使用主Application.class的集成测试。然而,运行这些测试似乎想要初始化MySQL数据库,因为我看到正在使用这些凭据。

我尝试使用自定义@TestConfiguration实例创建自定义DataSource类,但它似乎没有任何效果,即使我将其设置为唯一的配置类(即{{1而不是@SpringBootTest(classes = {TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

它一直在尝试使用main / resources / application-development.yml中定义的配置。怎么了?

1 个答案:

答案 0 :(得分:0)

尝试在@SpringBootTest上方的测试类中添加以下行。

@ActiveProfiles("test")