Я работаю над странной проблемой, я делаю интеграционное тестирование, вызывая мой контроллер, чтобы получить объект из базы данных, которая не существует.
public Optional<T> get(Long id) {
try {
return Optional.ofNullable(repository.getOne(id));
} catch(EntityNotFoundException e) {
return Optional.empty();
}
}
Когда getOne(…)
ничего не может найти, я ожидал EntityNotFoundException
, но на самом деле ничего. Если я проверю свой результат, я вижу, что у меня есть пустой объект с ссылкой обработчика "threw EntityNotFoundException
", но мы не ходим в catch и возвращаем необязательный этот странный объект.
Я не понимаю этого поведения.