2017-02-10 19 views
0

Я не нашел эффективного способа сделать это. У меня есть приложение Spring, которое предоставляет веб-сервис. Это приложение вызывает другой веб-сервис для получения некоторых данных. Для целей тестирования junit я не хочу вызывать webservice upstream ... вместо этого я хочу использовать h2 в источнике данных памяти. Как я могу подключить свою Doa к использованию веб-сервиса для производства, но затем использовать источник данных h2 для тестирования?Переход приложения Spring к источнику данных для тестирования

Я просмотрел настройки профилей в моем файле контекста. Это полезно для переключения на разные источники данных db, но я не могу понять, как определить веб-сервис как источник данных, если это возможно.

+0

Вы можете использовать '@ MockBean', чтобы заменить службу макетом и использовать mockito для подключения к вашей базе данных, или, проще говоря, просто перезапишите Bean в вашем тесте с помощью' @ Primary' и вашей реализации H2. – dav1d

ответ

1

Я бы предложил интерфейс DAO/Repository с двумя реализациями - H2Dao & WebServiceDao. Вы можете аннотировать их с помощью @Profile("test") & @Profile("production"), соответственно. Затем укажите «тест» или «производство» в качестве активного профиля, если это необходимо.

Удачи.

+0

проще, чем я думал ... ответ теперь кажется очевидным. Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^