验证使用JsonPath返回列表的特定键的值

时间:2016-09-14 05:29:12

标签: java json assertions hamcrest jsonpath

回应机构:

{
 "Items":[{
            "ID": 12,
            "Name": "n1",
            "Inactive": false
        },
        {
            "ID": 16,
            "Name": "n2",
            "Inactive": false
        },  ...etc
        ]
}

使用JsonPath lib,我能够获得具有以下表达式的特定元素的所有值的列表(例如,"非活动")。 ' $ ..无效' ---> [假,假,等等]

但是,我不确定如何使用JsonPathAssert来应用matcher来断言上面的列表,以便它只包含' false'。

我正在使用Java,JsonPath。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

经过一些研究,我能够断言清单 - 这应该只包含“假”和“错误”。如下所述。

org.hamcrest.MatcherAssert.assertThat(actualJson.toString(), JsonPathMatchers.hasJsonPath("$..Inactive", Matchers.everyItem(Matchers.equalTo(false))));