Если вы хотите проверить свой ProfileService
, вам нужно смоделировать причину profileRepository
, если вы этого не сделаете, то вы на самом деле проводите интеграционный тест.
Юнит-тестирование - это тестирование небольших юнитов, если есть какие-то зависимости от этих юнитов, которые вы должны имитировать (вручную или с помощью фреймворка, Mockito является наиболее распространенным в Java world).
Если ваша служба использует репозиторий для извлечения всех профилей, которые вы должны смоделировать для этого вызова, что-то вроде этого:
List<Profile> profilesList = Arrays.asList(new Profile("Profile 1"), new Profile("Proiile 2"));
given(profileRepository.findAll()).willAnswer((Answer<List>) invocation -> profilesList);
Так что вам не следует ничего сохранять в базе данных (на самом деле, вы вообще не должны взаимодействовать с базой данных, когда вы тестируете модуль), вы просто издеваетесь над репозиторием, который вы используете в своей службе. Вот проект Я написал несколько месяцев go, где я фактически решил ту же самую проблему.