java 安心支票排序

ql3eal8s  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(71)

如何检查Rest-assured中响应体(数组)的顺序?
响应正文如下所示:

[
    {"name": "a"},
    {"name":"b"}
]
z4bn682m

z4bn682m1#

RestAssured.get("pictures?sort=name")
                .then()
                .body("[0].name", response -> Matchers.lessThanOrEqualTo(response.path("[1].name")))

说明:主体方法获得元素[0].name的值(通过路径),然后使用ResponseAwareMatcher(λ)来匹配[0].name值和响应中的值[1].name(通过路径)。

xmd2e60i

xmd2e60i2#

我们可以使用Rest Assured中的jsonPath方法来检查响应正文的顺序。您可以检索数组中每个元素的“name”字段的值,然后将检索到的值的顺序与预期顺序进行比较。例如:

List<String> names = 
  given().
  when().
    get("<your API endpoint here>").
  then().
    extract().
    jsonPath().getList("$.name");

assertEquals(Arrays.asList("a", "b"), names);

此代码检索数组中每个元素的“name”字段值,并将其保存为字符串列表。然后,它使用assertEquals方法将检索到的值与预期值进行比较。如果响应正文中值的顺序与预期值匹配,则Assert将通过。

相关问题