我有一个JSON响应来验证。我正在编写一个测试secario,我想断言响应是否包含对象的数量。 JSON响应:
{
"Result": {
"resultCode": "1000",
},
"ResultClient": {
"responseCode": null,
"statusCode": null
},
"creditCard": {
"number": null
}
}
我想声明响应有3个对象。怎么做?响应obj dosn没有size()
或count()
所以我无法理解解决方案的路径。我正在保证我的测试。
TestResponse testResponse = given()
.contentType("application/json; charset=UTF-8")
.body(cTestRequest)
.when()
.post(uri)
.as(TestResponse.class);
现在如何断言json包含3个obj和objs中的参数?
答案 0 :(得分:6)
您可以这样做:
when().
get("/x").
then().
body("keySet().size()", is(3));
原因是JSON对象被视为Groovy Map
,因此您可以在其上调用函数。 keySet()
会将所有密钥作为Set
返回,size()
会返回此Set
的大小。