ASC/DESC顺序放心回复

Rest assured response in ASC/DESC order

有什么方法可以按顺序验证响应吗?

"user": [
            {
                "_id": "1",
                "age": 21,             
            },
            {
                "_id": "2",
                "age": 22,
            },
            {
                "_id": "7",
                "age": 30,
            }
]

我可以通过以下方式获取特定的id值

 .body("user[0].id", some validation)  result: 1

当我这样做时,我会得到所有的 ID

.body("user.id", some validation)  result: [1,2,7]

需要验证以验证结果符合 DESC/ASC 顺序

.body("user.id", isDescOrder()/isAscOrder())

您可以在 com.google.common.collect.Comparators 中使用 isInOrder(Iterable<? extends T> iterable, Comparator<T> comparator)

List<String> user_IdList = given()
        .when()
        .get("api_url")
        .then()
        .extract()
        .jsonPath()
        .getList("user._id");

List<Integer> integerList = user_IdList
        .stream()
        .map(x-> Integer.parseInt(x))
        .collect(Collectors.toList());

boolean isInAscOrder = isInOrder(integerList, Ordering.natural());

此处isInAscOrder为真。因为1,2,7是升序排列的。