-
Notifications
You must be signed in to change notification settings - Fork 41.2k
Warn that multi-document property files cannot be loaded by using @PropertySource or @TestPropertySource #24945
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is a little annoying, but unfortunately I'm not sure on the best way to fix this. We could document it as a limitation, or we could perhaps develop an alternative annotation. It's a tricky problem because there are other aspects (such as In the meantime, you might want to look at |
Thanks for responding so quickly. We have already implemented a workaround, which is using |
Expected behavior is that a multi-document properties file can be created with different sections separated by "#--- " characters, for each section applicable to a given active profile. This works as expected when using a file named
application.properties
and allowing Spring Boot to bootstrap the application normally.However, if the default application properties file is overridden in a JUnit test class annotated with a test property source (e.g.
@TestPropertySource(locations="classpath:test.properties")
), Spring Boot ignores the active profiles and simply references the last value it finds for the property in the properties file.I have created a sample Java project to demonstrate the issue here: https://github.com/peter-thomas-mgd/spring-multi-doc
The example shows how an identical properties file behaves differently when specified as a test property source called
test.properties
vs. when bootstrapped as the defaultapplication.properties
.The text was updated successfully, but these errors were encountered: