I'm trying to use application.properties profiles for integration tests using JUnit in order to check two different platforms.
I tried doing so with basic configuration file application.properties which contains the common configurations for both platforms, and on top of that I've added properties files application-tensorflow.properties application-caffe.properties for each platform, which have specific platform configurations, but I found out that it works differently in JUnit than the approach I used to use in the main application.
my test configuration class looks like this:
@Configuration
@PropertySource("classpath:application.properties")
@CompileStatic
@EnableConfigurationProperties
class TestConfig {...}
I'm using @PropertySource("classpath:application.properties") so it will recognize my basic configurations, there I also write spring.profiles.active=tensorflow, in hope that it will recognize the tensorflow application profile however it doesn't read from the file: /src/test/resources/application-tensorflow.properties, nor from /src/main/resources/application-tensorflow.properties as it does in main app.
Is there special a way to specify a spring profile in JUnit test? What is the best practice to achieve what I'm trying to do?