У вас есть проблемы где-то еще. Похоже, что произошла исключительная ситуация / ошибка, как отмечено типом содержимого application / problem + json. Это, вероятно, установлено в обработчике исключений. Поскольку ваш клиент только ожидает приложения / PDF 406 возвращается.
Вы можете добавить контрольный пример, чтобы прочитать подробности об ошибке, чтобы узнать, что именно это за ошибка.
Что-то вроде
MvcResult result = MockMvc.perform(post("/api/user-accounts/export").param("query","id=='123'")
.contentType(MediaType.APPLICATION_JSON_VALUE)
.accept(MediaType.APPLICATION_PROBLEM_JSON_VALUE)
.content(TestUtil.convertObjectToJsonBytes(userObjectDTO)))
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_PROBLEM_JSON_VALUE))
.andReturn();
String content = result.getResponse().getContentAsString(); // This should show you what the error is and you can adjust your code accordingly.
Если вы ожидаете ошибку, вы можете изменить тип подтверждения, включив в него как pdf, так и проблемный тип json.
Примечание. Это поведение зависит от имеющейся у вас версии Spring Web MVC.
Последняя весенняя версия mvc учитывает заголовок типа контента, установленный в объекте ответа, и игнорирует то, что предусмотрено в заголовке accept, и анализирует возможный формат ответа. Таким образом, тот же тест, который у вас есть, не вернет код 406, а вернет контент с типом контента задачи json приложения.