【发布时间】:2021-06-14 15:42:31
【问题描述】:
使用 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", "elementOne", "elementTwo"))
.body("status.code", equalTo("00"))
.body("status.message", equalTo("SUCCESS"))
.body("status.timestamp", Matchers.startsWith(expectedTimestamp_yyyyMMdd))
.extract()
.response();
我收到以下错误:
预期:["elementZero", "elementOne", "elementTwo"] 任意顺序
实际:
如何在 data.data 上断言以确保它包含一个与我的数组匹配的元素?
【问题讨论】:
-
如何将
data.data反序列化为List<List<String>>,然后使用List接口中的方法?
标签: java junit rest-assured hamcrest