Как я могу объединить @DataJpaTest @SpringBootTest в одном приложении MVC для тестирования каждого уровня?

Здесь https://stackoverflow.com/a/52968130/10894456 хорошо объясняется, почему @DataJpaTest @SpringBootTest не должно быть смешанные в одном приложении.

Но едва объяснил тот случай, когда все равно нужно тестировать каждый уровень приложения MVC SpringBoot (с моей точки зрения, естественно тестировать не только один или только другой слой, но и оба, и даже все слои, не так ли?)

Поэтому было предложено решение использовать @AutoConfigureTestDatabase вместо @DataJpaTest, но работа не была завершена (((

Итак, мой вопрос: использует ли @AutoConfigureTestDatabase подходящее решение? Если да, поясните подробности. Если нет, предложите более подходящее решение, спасибо


person J.J. Beam    schedule 24.04.2019    source источник
comment
Да, как уже было сказано, это подходящее решение. Какие подробности вам нужны? Непонятно, о чем вы спрашиваете.   -  person eis    schedule 24.04.2019
comment
Просто подставьте DataJpaTest ‹---› AutoConfigureTestDatabase и все нормально?   -  person J.J. Beam    schedule 24.04.2019
comment
вы хотите объединить SpringBootTest и AutoConfigureTestDatabase. Добавлено как ответ.   -  person eis    schedule 25.04.2019


Ответы (2)


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

Также упоминается в документации @DataJpaTest:

Если вы хотите загрузить полную конфигурацию приложения, но используете встроенную базу данных, вам следует рассмотреть возможность использования @SpringBootTest в сочетании с @AutoConfigureTestDatabase, а не с этой аннотацией.

person eis    schedule 24.04.2019