JSON, который я возвращаю из вызова REST, представляет собой двумерный массив из ~ 200 записей, и я хотел бы проверить значение каждой записи, не имея 200 вызовов .validate ().Буду признателен за любую помощь.
@Then("^validate values in the array with count (\\d+)$")
public void validateArray(int cnt) {
runner.http(action -> action
.client(httpClient)
.receive()
.response(HttpStatus.OK)
.validate("$.array.size()", cnt)
);
}
У меня есть эта работа, но я хотел знать, есть ли лучший способ сделать это.
runner.receive(action -> action.endpoint(httpClient)
.validationCallback((msg, cntxt) -> {
HashMap<String, Object> map = JsonSerialization.deserialize(msg.getPayload(String.class));
List<List<Number>> adj = (List<List<Number>>)map.get("key");
for(int i = 0; i < adj.size(); i++) {
Assert.assertEquals((Double) adj.get(i).get(1), adjValue, 0);
}