У меня раздражающая проблема.
У меня есть служба (используется в RestController), которая выбирает данные из репозитория и выполняет некоторые преобразования в извлеченные данные.Я использую собственный коллектор в своем преобразовании.Таким образом, это выглядит так:
@RestController
class myController() {
Service myService
@GetMapping()
void getResults{
Collection col = myService.fetch();
// some file download logic
}
}
@Service
class myService() {
Repository repository
Collector myCollector
Collection fetch() {
return repository
.getSomeResults()
.stream()
.collect(Collectors.groupingBy(someKey, myCollector)
.values();
}
}
Здесь, когда я хочу выполнить модульное тестирование метода обслуживания fetch (), я могу смоделировать репозиторий, но если я хочу смоделировать пользовательский сборщик, мне нужно заглушить все 5 методов.Кроме final (), другие бессмысленно издеваться.
Я не хочу уменьшать тестовое покрытие.Как мне подойти к этой проблеме?