Макет mvc ожидаем исключения - PullRequest
1 голос
/ 05 марта 2020

У меня есть контроллер и какой-то метод, который выбрасывает CustomException:

@GetMapping
ResponseEntity<Void> getOriginalUrl() {
  ...
  throw new CustomException("my message");
  ...
}

Я хочу проверить его. Тест:

 @Rule
 public ExpectedException thrown = ExpectedException.none();

 @Test
 public void testGetOriginalUrl() throws Exception {
 mvc.perform(get(...)
            .contentType(MediaType.APPLICATION_JSON))
            .andExpect(status().isNotFound());

    thrown.expect(CustomException.class);
    thrown.expectMessage("my message");
 }

Но это не работает. Как я могу это проверить?

1 Ответ

0 голосов
/ 05 марта 2020

Даже если какой-либо сервер исключений собирается вернуть 500 внутреннюю ошибку сервера, вам следует просто проверить код состояния

 mvc.perform(get(...)
        .contentType(MediaType.APPLICATION_JSON))
        .andExpect(status()isInternalServerError())
        .andExpect(status().reason(containsString("my message")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...