Как переопределить application-test.yml в весеннем загрузочном тесте? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть src / main / test / resources / application-test.yml, согласно SpringBootTest, он загрузит application.yml, а затем загрузит application-test.yml.Но я сталкиваюсь со сценарием, в котором я хочу переопределить определенные свойства в application-test.yml только для одного теста, но другой тест должен использовать свойства из application-test.yml.Как бы я это сделал?

Я пытался использовать аннотацию @TestPropertySource для переопределения, но она не работает.

@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest(classes= MyApplicationTestApplication.class)
@ActiveProfiles("test")
@DirtiesContext
@TestPropertySource(locations = {"classpath:application-test.yml",
                                    "classpath:file-test.properties"})

Ответы [ 2 ]

1 голос
/ 27 марта 2019

А как насчет создания еще одного профиля и активации их обоих (порядок имеет значение) @ActiveProfiles({"test", "test-override"})

Или вы можете просто переопределить, используя System.properties, например, в статическом блоке, прежде чем весенний контекст начнет загружаться сам.

0 голосов
/ 01 апреля 2019

Спасибо за комментарии и ответ, просто хотел добавить, который работал для меня

@SpringBootTest(properties = "some.property=localhost:9094") 

Ссылка на документ

...