是否可以通过RestAssured Java断言响应主体在Json中具有必需的参数

时间:2019-04-03 09:30:01

标签: java json rest-assured

我需要在放心的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"

    }
]

所以我该如何断言在响应正文中找到modificationDatestartDateendDate参数。

1 个答案:

答案 0 :(得分:0)

您可以使用Hamcrest.hasKey(K key)测试体内钥匙的存在。

when().get("....")
    .then().body("$", hasKey("modificationDate"))
           .body("$", hasKey("startDate"))
           .body("$", hasKey("endDate"))

考虑到您正在得到这样的东西

{
    "modificationDate": "...",
    "startDate": "",
    "endDate": ""
}