如何使用 RestAssured 断言 JSON 2D 数组?

问题描述

使用 RestAssured,我正在努力在响应正文中对 2D 字符串数组进行断言。我的响应 JSON 为:

{
    "status": {
        "code": "00","message": "SUCCESS","timestamp": "2021-06-14T11:25:34Z"
    },"data": {
        "data": [
            [
                "elementZero","elementOne","elementTwo"
            ]
        ]
    }
}

我的代码如下

    given()
            .auth().oauth2(token)
            .when()
            .pathParam("orderId",orderId)
            .get("/getScreeningsForOrder/{orderId}")
            .then()
            .statusCode(200)
            .contentType(ContentType.JSON)
            .assertThat()
            .body("data.data[0]",arrayContainingInAnyOrder("elementZero","elementTwo"))
            .body("status.code",equalTo("00"))
            .body("status.message",equalTo("SUCCESS"))
            .body("status.timestamp",Matchers.startsWith(expectedTimestamp_yyyyMMdd))
            .extract()
            .response();

我收到以下错误:

预期:["elementZero","elementTwo"] 任意顺序
实际:

如何对 data.data 进行断言以确保它包含一个与我的数组匹配的元素?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)