[英]How to assert JSON 2D array using RestAssured?
Using RestAssured and I am truggling to assert on a 2D String array in the response body.使用 RestAssured 并且我正在努力断言响应正文中的 2D 字符串数组。 I have response JSON as:我将 JSON 回复为:
{
"status": {
"code": "00",
"message": "SUCCESS",
"timestamp": "2021-06-14T11:25:34Z"
},
"data": {
"data": [
[
"elementZero",
"elementOne",
"elementTwo"
]
]
}
}
And my code is as follows我的代码如下
given()
.auth().oauth2(token)
.when()
.pathParam("orderId", orderId)
.get("/getScreeningsForOrder/{orderId}")
.then()
.statusCode(200)
.contentType(ContentType.JSON)
.assertThat()
.body("data.data[0]", arrayContainingInAnyOrder("elementZero", "elementOne", "elementTwo"))
.body("status.code", equalTo("00"))
.body("status.message", equalTo("SUCCESS"))
.body("status.timestamp", Matchers.startsWith(expectedTimestamp_yyyyMMdd))
.extract()
.response();
I get the following error:我收到以下错误:
Expected: ["elementZero", "elementOne", "elementTwo"] in any order预期:["elementZero", "elementOne", "elementTwo"] 任意顺序
Actual: <[elementZero, elementOne, elementTwo]>实际:<[elementZero, elementOne, elementTwo]>
How can I assert on data.data to make sure it contains one element that matches my array?如何断言 data.data 以确保它包含一个与我的数组匹配的元素?
Try these ones - "data.data[0][0]"
or "data.data[0].[0]"
试试这些—— "data.data[0][0]"
或"data.data[0].[0]"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.