Будьте уверены - проверка тела ответа - PullRequest
0 голосов
/ 10 сентября 2018

У меня ответ ниже, и мне нужно проверить тело.

Json:

[
   "Admin Login",
   "Admin Contact",
   "Administrator",
   "Ads-View"
]

Код:

@Test(groups = {"ITTest"})
public void testAdmin() 
{
    com.jayway.restassured.response.Response testAdminResponse = get("/Admin");
    testAdminResponse.then().assertThat().statusCode(200);
    testAdminResponse.then().assertThat().body("$",equalTo("["Admin Login", "Admin Contact", "Administrator", "Ads-View"]"));
}

Я пробовал сопоставления хамкрестов - equalTo, содержит строку, hasItems, hasItem, но все тщетно

Как мне полностью проверить тело?

1 Ответ

0 голосов
/ 11 сентября 2018

Если вы хотите проверить ответ в целом, и если вы точно знаете, что ответ будет иметь следующий формат

[«Вход администратора», «Контакт администратора», «Администратор "," Ads-View "]

Затем вы можете преобразовать ответ в виде строки и использовать Assert.assertEquals

Assert.assertEquals(**response**, "[\n" + 
        "   \"Admin Login\",\n" + 
        "   \"Admin Contact\",\n" + 
        "   \"Administrator\",\n" + 
        "   \"Ads-View\"\n" + 
        "]");

Я запустил его локально, и он отлично работаетдля меня

RestAssured.baseURI = "http://127.0.0.1:3000/Admin";
String **response** = RestAssured.given().
when().get().then().extract().asString();
Assert.assertEquals(response, "");
System.out.println("Body is : " + response);
...