JsonPath断言键入JSONArray

时间:2017-08-31 16:57:45

标签: java json unit-testing jsonpath mockmvc

我正在尝试使用JsonPath进行测试验证一个json,我可以创建测试,但是当我验证我得到的可能是类型错误Expected: <[4]> but: was <[4]>我的测试是这样的:

mockmvc.perform(get("/client/rating"))
    .andExpect(status().isOk())
    .andExpect(jsonPath("$", hasSize(3)))
    .andExpect(jsonPath("$[?(@.id == prod1)].rate", equalTo(new JSONArray("[4]"))));

我没有在这里测试Json,但价值是正确的,唯一的问题是它的类型......

我感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

你可以这样做:

mockmvc.perform(get("/client/rating"))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$", hasSize(3)))
                .andExpect(jsonPath("$[?(@.id == prod1)].rate").value(4));