я попытался переключиться на when () и получить ошибки компилятора
я успешно использовал doThrow (...) в другом тесте в том же проекте, поэтому я не знаю, что здесь происходит
Код модульного теста:
doThrow(new Exception("the client cancelled the request, ya dingus!")).when(handler).write(any());
MvcResult result = mockMvc.perform(post("/myPath")
.content(String.valueOf(mockValidRequest))
.contentType(MediaType.APPLICATION_JSON)
.characterEncoding("utf-8"))
.andExpect(status().is5xxServerError())
.andReturn();
Код, который я тестирую (метод обработчика для / myPath):
@PostMapping("/myPath")
public ResponseEntity<String> handleRequest(@RequestBody MyPojo request) {
try {
handler.write(request);
} catch (Exception e) {
return new ResponseEntity<>("Exception thrown during event processing: " + e, HttpStatus.SERVICE_UNAVAILABLE);
}
return new ResponseEntity<>("Success", HttpStatus.OK)
}
Проблема в том, что тест говорит, что фактический результат - 200 успешных , когда должно было произойти исключение, и служба 5xx недоступна.