Spring TestRestTemplate parse Error вместо HttpClientErrorException брошено - PullRequest
1 голос
/ 02 октября 2019

Я пишу тесты для моего приложения весенней загрузки. При написании тестов для ответов об ошибках я заметил, что клиент TestRestTemplate генерирует исключение синтаксического анализа (это ответ об ошибке, поэтому формат отличается от стандартного ответа) для следующего теста:

@Test
fun `post should return 404 if object does not exists`() {
    // expect
    restTemplate.exchange(
        localUrl("/api/v1/data/not_exists/"),
        HttpMethod.POST,
        RequestClass(data = randomString()),
        ResponseClass::class.java
    )
}
org.springframework.web.client.RestClientException: Error while extracting response for type

Согласно весенней документации HttpClientErrorException ошибка должна быть выброшена. https://docs.spring.io/spring/docs/3.0.6.RELEASE_to_3.1.0.BUILD-SNAPSHOT/3.0.6.RELEASE/org/springframework/web/client/HttpClientErrorException.html

Существует некрасивое решение, в котором я не могу установить тип ответа на Nothing, но содержимое ответа об ошибке будет потеряно.

restTemplate.exchange(
    localUrl("/api/v1/data/not_exists/"),
    HttpMethod.POST,
    RequestClass(data = randomString()),
    Nothing::class.java
)

Возможно ли сделать TestRestTemplate/ RestTemplate для выдачи фактического HttpClientErrorException вместо сбоя при разборе ответа?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...