Spring Boot JUnit: Как проверить, было ли автоматическое поле выполнено методом void

#java #spring #spring-boot #junit #mockito

Вопрос:

Я пытаюсь понять, как проверить, выполняется ли поле при вызове метода void. Поле, которое я хочу протестировать, является объектом автоматического подключения репо/dao в классе обслуживания.

 @Service 
public class ObjectServiceImpl implement Object Service { 
    @Autowired
    private ObjectRepository objRepo;
    
    private void publishObject(Object obj) {
        objRepo.save(obj); 
    }
}
 

Я хочу проверить, использовал ли ObjectRepository функцию save() при вызове publishObject.

PS: проект, над которым я работаю, используемое репо-это импорт из зависимости. Кроме того, я использую JUnit4.

Ответ №1:

Для проверки вызова вложенной зависимости обычно необходимо использовать verify() функцию, которая проверяет, произошло ли взаимодействие:

   verify(objRepo).save(obj);