Я использую RestAssured 4.1.2 для проверки ответа JSON на вызов API REST. Мой тестовый метод
.when()
.get(BASEURL + "/declina?nom=socer&gen=soceri")
.then()
.assertThat()
.statusCode(200)
.contentType(ContentType.JSON)
.body("nom", equalTo("socer, soceri"))
.body(ARREL, equalTo("socer-"))
.body(TIPUS_NOM, equalTo("puer, i, m."))
.body(TIPUS_COMENTARI, equalTo("masculins"))
.body(DECLINACIO, startsWith(SEGONA_DECLINACI));
Ответ JSON содержит строку с символом с акцентом и находится в UTF-8. Я попытался использовать equalTo("Segona declinació")
вместо startsWith("Segona declinaci")
, но это не работает из-за акцентированного символа. Конечно, если я пишу акцентированные символы в коде Java, он использует не кодировку UTF-8, а кодировку, встроенную в Java. Я попытался использовать метод config
сразу после given
(см. https://github.com/rest-assured/rest-assured/issues/728), но безуспешно, и я не уверен, что это путь, так как в ссылочной строке используется кодировка Java, разныеот UTF-8.