#java #exception #junit
Вопрос:
Допустим, у меня есть код, который выполняет некоторую работу с БД и имеет счастливый путь и единственный несчастливый поток, который возникает только при отключении подключения к БД, как это:
public Report createReport(
String reportType, Report reportData, ReportUser reportUser, Timestamp createTs) {
KeyHolder reportIdHolder = new GeneratedKeyHolder();
try {
saveReportDetails(reportType, reportData, reportUser, createTs);
} catch (DataAccessException e) { <-------------- This extends RuntimeException
log.error(
"DataAccessException while trying to insert report with name {}",
reportData.getReportName(),
e);
throw e;
}
...
// More of the happy path code here
}
У меня есть тест на счастливый путь, но рекомендуется ли также проверять поток исключений во время выполнения?
Приложение является приложением SpringBoot Rest, поэтому оно не умирает, когда исключение повторяется после входа в систему.
Комментарии:
1. Да, вы должны проверить счастливый путь и других, если сможете.
2. Даже если это сбой был вызван неисправимой ошибкой? Я знаю, что в данном случае это неприменимо, но в принципе?
3. Да, вы должны проверить наличие ошибок, как восстанавливаемых, так и не восстанавливаемых.
4. Ваш объект должен сообщить пользователям о том, что произошла неисправимая ошибка. Чего вы ожидаете от них, если это произойдет? Ваш тест должен доказать, что вы выполнили свою часть контракта.