Интеграционный тест с весенней загрузкой

Я разрабатываю Rest Api, используя весеннюю загрузку. Я знаю, что могу выполнить все интеграционные тесты, используя «тестовую базу данных», такую ​​​​как H2, а весенняя загрузка может инициализировать сценарии sql.

Однако мое приложение обращается к базе данных через процедуры, использующие старую домашнюю библиотеку, и я не могу выполнить рефакторинг для JPA (к сожалению).

Я не думаю, что смогу настроить базу данных и процедуры в H2 (потому что я использую нестандартную базу данных).

Мой вопрос: как я могу проверить свои конечные точки в этих условиях?

Спасибо


person pedrohreis    schedule 07.04.2017    source источник
comment
Пробовали ли вы использовать Liquibase или Flyway для настройки сценариев, которые будут заполнять вашу тестовую базу данных и создавать хранимые процедуры, требуемые вашей библиотекой?   -  person Mike Wojtyna    schedule 08.04.2017
comment
@MikeWojtyna, я знаю, теряю ли я что-нибудь, но вижу 2 проблемы: 1 — мне нужны определения для одной и той же таблицы: в моих сценариях .sql и еще один в liquibase xml 2 — мне нужна такая же реализация процедуру дважды (один для метаязыка базы данных и другой для моей "фиктивной БД"). Вся проблема в том, что я использую нестандартную базу данных, поэтому некоторые операторы, разрешенные там, не будут работать, например, на h2.   -  person pedrohreis    schedule 08.04.2017
comment
В ваших условиях нормально общаться с реальной базой данных для выполнения интеграционных тестов. Что мешает вам раскрутить новый сервер в тесте, выполнить http-вызовы и проверить?   -  person phanin    schedule 08.04.2017
comment
@phani, да, я согласен с тем, что могу просто поговорить со своей базой данных разработчиков. Я просто пытаюсь избежать некоторых проблем, таких как сохранение учетных данных базы данных в моем приложении (в тестовом файле свойств); не влияет на реальную саму БД; сделать мои тесты быстрее. Я имею в виду, что это может быть «чрезмерная забота»… но я стараюсь придерживаться хороших практик.   -  person pedrohreis    schedule 08.04.2017
comment
Вы можете использовать профили Spring, чтобы иметь свойства, специфичные для теста. Ссылка: stackoverflow.com/questions/32196451/   -  person phanin    schedule 10.04.2017