Spring Boot JUnit и @TestPropertySource с использованием нескольких файлов свойств - PullRequest
0 голосов
/ 15 октября 2018

Spring Boot 2.0.3.RELEASE

Имеется более одного файла свойств для работы с… application.properties и application-DEV.properties

с использованием аннотации @TestPropertySource вТест Junit Я могу заставить его читать только один файл:

@TestPropertySource("file:C:\\Users\\user\\eclipse-workspace\\one2one_httpCall\\src\\main\\resources\\application-DEV.properties")

работает как положено

Однако мне нужны два файла свойств, я видел опцию местоположений, но не видел пример болеечем один файл .. пробовал разные варианты, но ни один из них не работал:

@TestPropertySource(locations = "classpath:application-DEV.properties;classpath:application.properties")

Попробовал пару способов, которые я не публикую, и даже дважды пытался использовать @TestPropertySource, но сообщается, что вы не можете использовать его дважды.

пытался использовать @PropertySource, так как вы можете использовать его дважды, но не сработало, так как это тест Junit.Посмотрел кучу вопросов о stacktrace + другие и попробовал, но не повезло.

Итак, мой вопрос, как использовать два файла свойств с помощью аннотации @TestPropertySource?

1 Ответ

0 голосов
/ 15 октября 2018

Если вы загляните внутрь определения @TestPropertySource, вы увидите, что locations имеет тип String [].Поэтому, если вам нужно передать ему несколько значений, вы должны сделать это с массивом:

@TestPropertySource(locations = { "classpath:application.properties", "classpath:application-DEV.properties" })

Также обратите внимание на порядок, в котором вы объявляете файлы свойств.Как указано в документах TestPropertySource :

Каждое местоположение будет добавлено в окружающую среду как собственный источник свойств, в порядке, объявленном .

Таким образом, вы, вероятно, захотите объявить свои свойства DEV после , чтобы избежать их переопределения вашими производственными свойствами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...