Spring Boot 1.4测试从主要资源加载yaml文件

Spring Boot 1.4 test loading yaml file from main resources

在将我们的 Spring Boot 1.3 应用程序迁移到 1.4 之前,当 运行 集成测试时,我们曾经从 src/main/resources/config/ 文件夹加载我们的 application-test.yml 文件,这将覆盖从 src/test/resources/config/ 文件夹加载的 application.yml 文件的属性。

但是,对于 Spring Boot 的新版本及其测试套件,似乎在引导应用程序进行测试时,它不再检查 src/main 下的资源文件夹。相反,它只检查位于 src/test/ 下的 resources,并且仅在该文件夹的 config/ 文件夹下查找 .yml 文件。

有没有办法告诉 Spring Boot 它应该在两个 resources 文件夹下寻找 .yml 文件?

资源最好完全分离。当然,你应该考虑一下。但是,长话短说,您可以尝试这样做:

@TestPropertySource(locations = {
   "classpath:test.yml",
   "classpath:test-override.yml" })

如果您有 *.yml,那么不要忘记在您的 class 上方声明以下行:

@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)