@ActiveProfiles
@ ActiveProfiles - это аннотация уровня класса, которая используется для объявления, какие профили определения бина должны быть активными при загрузке ApplicationContext для интеграционного теста.
Из приведенного выше определения мы можем понять, что для активации профиля во время выполнения тестов без указания фактического местоположения файла мы используем эту аннотацию для загрузки свойств для этих профилей.
, тогда как
@TestPropertySource
@ TestPropertySource - это аннотация на уровне класса, которая используется для настройки местоположений () файлов свойств и встроенных свойств (), добавляемых в набор PropertySources среды для ApplicationContext для интеграционные тесты.
Источники свойств теста имеют более высокий приоритет, чем источники, загруженные из среды операционной системы или системных свойств Java, а также источники свойств, добавленные приложением декларативно через @PropertySource или программно. Таким образом, источники свойств теста можно использовать для выборочного переопределения свойств, определенных в источниках свойств системы и приложения. Кроме того, встроенные свойства имеют более высокий приоритет, чем свойства, загружаемые из расположений ресурсов.
В случае @TestPropertySource
мы явно указываем местоположение файла, из которого вы хотите загрузить свойства. Нет необходимости активировать какой-либо профиль здесь. Вы аннотируете это в своем тестовом классе, чтобы загрузить свойства из файла в определенном месте. Это могут быть любые свойства, такие как общие свойства и т. Д. c.
Так что в вашем случае вам может потребоваться только одна аннотация . Я бы предложил вам удалить @ActiveProfiles и протестировать и наоборот.