Спящий режим: тестирование Daos - PullRequest
0 голосов
/ 13 ноября 2018

Мой проект - унаследованный проект с ядром java и hibernate. Здесь не написано ни одного модульного теста. Какова может быть лучшая стратегия для тестирования в этом сценарии?

P.S. Если я использую mockito, то я не смогу протестировать свои запросы, поэтому я не хочу использовать какие-либо тестовые фреймы Mock (например, Mockito, EasyMock, PowerMock) и т. Д. Я могу писать джунты, но они снова будут попадать в мои реальные базы данных. У меня есть рассматривается использование в памяти дБ.

1 Ответ

0 голосов
/ 13 ноября 2018

Обычный подход - использовать БД в памяти для написания тестов БД (хотя они считались интеграционными тестами).Но есть некоторые плюсы и минусы, которые вы должны принять во внимание:

Плюсы :

Вы не должны думать об уборке.

Вы можетенастраивайте БД так, как вам нужно.

С такой рабочей средой легко работать.Вам не нужно устанавливать ничего дополнительного.

Минусы :

БД, которую вы используете для тестирования, отличается.

Транзакции могут не работать.

Объекты БД могут не работать.

Некоторые конструкции sql могут не работать.

Поэтому, учитывая все минусы, я бы предложил использовать docker контейнеровс установленной БД внутри.Каждый раз, когда у вас будет чистая БД, вам не нужно заботиться об очистке данных, и, кроме того, это будет та же БД, что и в prod.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...