Не работает hamcrest matchers при сравнении int array

С помощью rest assured хожу по ответу на rest-запрос и сравниванию значения массива

Тело ответа:

{
"error": {
    "errorObjects": [
        {
            "risks": [
                {
                    "description": "Risk1",
                    "riskId": 6654152
                },
                {
                    "description": "Risk2",
                    "riskId": 6654155
                }
            ]
        }
    ]
}

}

Массивы, с которыми сравниваю полученные из ответа массивы:

int[] riskId = {6654152, 6654155}
String[] description =  {"Risk1",  "Risk2"}

Ассерты с использованием Rest Assured и Hamcrest Matchers:

.body("error.errorObjects[0].risks.description", containsInRelativeOrder(description),
                        "error.errorObjects[0].risks.riskId",containsInRelativeOrder(riskId));

Какую ошибку получаю:

java.lang.AssertionError: 1 expectation failed.
JSON path error.errorObjects[0].risks.riskId doesn't match.
Expected: ((a collection containing [<6654152>, <6654155>]))
  Actual: <[6654152, 6654155]>

То есть при сравнении массивов строк все ок, валится именно на сравнении int значений у riskId непонятно по какой причине. Подскажите, может тут другой матчер должен быть?


Ответы (0 шт):