@SpringBootTest использует неправильный application.yml - PullRequest
0 голосов
/ 22 мая 2018

У меня есть приложение весенней загрузки с настроенной базой данных MySQL в application-development.yml в main / resources, которое правильно загружается и работает при запуске приложения.

Я также создал приложение -test.yml в test / resources, который настраивает базу данных H2 и добавил h2-database в pom с областью проверки test.

После всего этого я создал интеграционный тест с аннотацией @SpringBootTest, в которой используется основная Application.class.Однако выполнение этих тестов, похоже, требует инициализации базы данных MySQL, поскольку я вижу, что эти учетные данные используются.

Я пытался создать пользовательский класс @TestConfiguration с пользовательским экземпляром DataSource, но, похоже, он не действует, даже если я установил его как единственный класс конфигурации (то есть @SpringBootTest(classes = {TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) вместо @SpringBootTest(classes = {Application.class, TestConf.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT))

Он постоянно пытается использовать конфигурацию, определенную в main / resources / application-development.yml.Что происходит?

1 Ответ

0 голосов
/ 22 мая 2018

Попробуйте добавить следующую строку в ваш тестовый класс выше @SpringBootTest.

@ActiveProfiles("test")
...