我收到以下针对我的 API 的错误请求的响应。我正在使用RestAssure进行我的休息响应断言。
{
"message": "An entity of type topic was passed in an invalid format",
"meta": {
"display": {
"topic": [
{
"name": [
"must not be blank"
]
},
{
"contentType": [
"must not be blank"
]
},
{
"content": [
"must not be blank"
]
},
{
"version": [
"must not be blank"
]
}
]
}
}
}
我需要验证响应的所有属性的值。我正在努力验证这条路径:meta.display.topic.contentType
.我无法为它想出GPath。
这是我的断言:
given().body("{}").when()
.post(BASE_URL)
.prettyPeek()
.then()
.statusCode(400)
.contentType(ContentType.JSON)
.body("message", is("An entity of type topic was passed in an invalid format"),
"meta.display.topic.contentType", is("must not be blank"));
由于路径不正确,断言总是失败。
为了避免主题对象的硬编码数组位置,以下将起作用:
meta.display.topic.find { it.contentType != null }.contentType[0]