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