Будьте уверены, убедитесь, что тело JSON содержит все строки из списка - PullRequest
0 голосов
/ 27 июня 2018

Итак, я построил список, содержащий строки с именами полей тела объекта JSON.

Примерно так:

List<String> fieldNames = new ArrayList<String>();

Затем я использовал Rest-assured для получения ответа в формате JSON, например, так:

{
"id": 11,
"name": "CoolGuy",
"age": "80",
}

Итак, мой список содержит «id», «name» и «age». Как я могу проверить, что поля JSON соответствуют этим строкам в моем списке. БЕЗ в зависимости от их заказа.

Я знаю только, как проверить, что он содержит одну строку, и вот весь метод тестирования JUnit, который я использовал:

@Test
public void verifyJSONMatch() {
    given().auth().basic("user", "pass").when()
    .get(getRequestURL).then().body(containsString("id"));      
}

Есть предложения?

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете извлечь ответ

ResponseOptions response = given().spec(request)
                    .get("/url_path");

А потом разбери json

DocumentContext parsedJson = JsonPath.parse(response.getBody().asString());
            assertThatJson(parsedJson).field("['id']").isEqualTo("11");
...