我需要在放心的Jave中断言Json的响应主体具有必需的参数。
我如何做到这一点,而不是仅仅将Json覆盖为字符串,然后断言string是否包含文本,因为该文本也可能成为参数的值?
这是示例杰森:
[
{
"modificationDate": "2018-12-10T09:39:07Z",
"startDate": "2018-11-08T04:59:25Z",
"endDate": "2018-12-10T09:39:07Z"
},
{
"modificationDate": "2008-12-10T09:39:07Z",
"startDate": "2008-11-08T04:59:25Z",
"endDate": "2008-12-10T09:39:07Z"
}
]
所以我该如何断言在响应正文中找到modificationDate
,startDate
和endDate
参数。
答案 0 :(得分:0)
您可以使用Hamcrest.hasKey(K key)
测试体内钥匙的存在。
when().get("....")
.then().body("$", hasKey("modificationDate"))
.body("$", hasKey("startDate"))
.body("$", hasKey("endDate"))
考虑到您正在得到这样的东西
{
"modificationDate": "...",
"startDate": "",
"endDate": ""
}