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

标签 java spring spring-boot spring-test

在将我们的 Spring Boot 1.3 应用程序迁移到 1.4 之前,在运行集成测试时,我们曾经加载我们的 application-test.yml 文件来自 src/main/resources/config/ 文件夹,它将覆盖从 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,那么不要忘记在您的类上方声明以下行:

@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)

关于java - Spring Boot 1.4测试从主要资源加载yaml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40423211/

相关文章:

java - 在启动时进行 DDL 验证时,Hibernate 不使用 @Table。使用 Flyway 和 TestContainers

java - Spring + JPA 事务已创建并提交,但数据库中没有结果

java - 使用 jdbc JAVA 对 DAO 类进行 Spring 单元测试

java - Camunda - 数据库快速增长问题

java - Gradle 构建后 Spring Boot 应用程序的主类丢失

java - 如何在自定义键盘中播放声音

java - java克隆对象的方法

java - Spring-Boot:用于重定向的 Web 过滤器

java - 锁写 Mifare Ultralight C

java - Tapestry 4 contrib表多次调用getModel()