У меня есть приложение весенней загрузки с настроенной базой данных 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.Что происходит?