Тестовый код типа
Код: Выделить всё
String content = mockMvc.perform(get("/some-api")
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
.andReturn()
.getResponse()
.getContentAsString();
Код: Выделить всё
java.lang.AssertionError: Content type
Expected :application/json;charset=UTF-8
Actual :application/json
Но теперь при сравнении содержимого с ожидаемым сериализованным объектом по-прежнему наблюдается несоответствие, если в объекте есть какие-либо специальные символы. Похоже, что метод .getContentAsString() не использует кодировку символов UTF-8 по умолчанию (больше не использует).
Код: Выделить всё
java.lang.AssertionError: Response content expected: but was:
Expected :[{"description":"Er hörte leise Schritte hinter sich."}]
Actual :[{"description":"Er hörte leise Schritte hinter sich."}]
Подробнее здесь: https://stackoverflow.com/questions/585 ... -0-release