Итак, я использую пружинную загрузочную сеть и хочу проверить этот метод:
private void testException(HotelTvApp app) {
throw new InternalServerException("Test message");
}
Возвращение пользовательского исключения:
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
public class InternalServerException extends RuntimeException {
public InternalServerException(String message) {
super(message);
}
}
Контроллер, который вызывает этот метод, возвращает следующееДанные JSON:
{
"timestamp": 1558423837560,
"status": 500,
"error": "Internal Server Error",
"message": "Test message",
"path": "/api/v1/test"
}
Я хочу написать тест, который проверит правильность сообщения об исключении.Я пробовал это:
def "createRoom() should return 500 if trying to create room with already existing number"() {
given:
def uriRequest = UriComponentsBuilder.fromPath("/api/v1/test")
when:
def perform = mvc.perform(get(uriRequest.toUriString()))
then:
perform.andExpect(status().isInternalServerError())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
.andExpect(jsonPath('$.message', is("Test message")))
}
Но я получаю это исключение: Caused by: java.lang.AssertionError: Content type not set
Как я могу проверить сообщение об исключении здесь?