У мене є величезний файл JSON для POST як корисного навантаження для виклику api для відпочинку для цілей тестування. Я спробував щось подібне:
public void RestTest() throws Exception {
File file = new File("/Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json");
String content = null;
given().body(file).with().contentType("application/json").then().expect().
statusCode(200).
body(equalTo("true")).when().post("http://devsearch");
}
і отримати помилку як:
java.lang.UnsupportedOperationException: Internal error: Can"t encode /Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json to JSON.
Я можу працювати, читаючи файл і передаючи тіло як рядок, і це працює, але я бачу, я можу безпосередньо передавати об'єкт файлу і це не працює.
Після дослідження досить здається, що він не працює. Я відкрив питання з упевненим у спокої. https://github.com/jayway/rest-assured/issues/674
Відповіді:
2 для відповіді № 1Я використовую загальний метод для читання з json і надсилаю його як рядок, тобто:
public String generateStringFromResource(String path) throws IOException {
return new String(Files.readAllBytes(Paths.get(path)));
}
Так у вашому прикладі:
@Test
public void post() throws IOException {
String jsonBody = generateStringFromResource("/Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json")
given().
contentType("application/json").
body(jsonBody).
when().
post("http://dev/search").
then().
statusCode(200).
body(containsString("true"));
}
2 для відповіді № 2
Після розміщення питання з відпочиваючою командою. У мене є виправлення. Я перевірив виправлення, і проблема вирішена.
Повідомлення від запевнених:
Це має бути виправлено зараз, тому я розгорнув новий знімок, який повинен вирішити цю проблему. Будь ласка, спробуйте версію 2.9.1-SNAPSHOT після додавання наступного сховища Maven:
<repositories>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots />
</repository>
</repositories>
Для отримання додаткової інформації : https://github.com/jayway/rest-assured/issues/674#issuecomment-210455811