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是升序排列的。
有什么方法可以按顺序验证响应吗?
"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是升序排列的。