У меня есть приложение Spring Boot с такой настраиваемой конфигурацией:
src/main/resources
├── application.properties
├── config1
│ ├── application-dev.properties
│ ├── application-prod.properties
│ └── application.properties
├── config2
│ ├── application-dev.properties
│ ├── application-prod.properties
│ └── application.properties
└── config3
├── application-dev.properties
├── application-prod.properties
└── application.properties
с конфигурацией для использования, указанной во время выполнения как:
java -jar \
-Dspring.profiles.active=dev \
-Dspring.config.name=application,config1/application \
target/my-application.0.0.1.jar
Как мне указать это для а @SpringBootTest
? Я пробовал использовать @TestPropertySources
, но это не работает:
@SpringBootTest
@ActiveProfiles("prod")
@TestPropertySources({
@TestPropertySource("classpath:application.properties"),
@TestPropertySource("classpath:application-${spring.profile.active}.properties"),
@TestPropertySource("classpath:config1/application.properties"),
@TestPropertySource("classpath:config1/application-${spring.profile.active}.properties"),
@TestPropertySource("classpath:config2/application.properties"),
@TestPropertySource("classpath:config2/application-${spring.profile.active}.properties"),
@TestPropertySource("classpath:config3/application.properties"),
@TestPropertySource("classpath:config3/application-${spring.profile.active}.properties")
})