我想比较两个jsonPath值是否相等:
this.mockMvc.perform(get(requestURL)).andExpect(jsonPath("$.prop1", equalTo(jsonPath("$.prop2"))));
然后我的测试失败了。 jsonPath(" $。prop1") 返回了我想要的正确值,但 jsonPath(" $。 prop2") 不返回此属性的值,而是返回类名:
org.springframework.test.web.servlet.result.JsonPathResultMatchers@7b7aaaf6
任何人都可以告诉我如何为jsonPath()执行 toString() 方法?我也尝试了 jsonPath(" $ .prop2")。toString() ,但也收到了类名。
先谢谢你了!
答案 0 :(得分:4)
MvcResult result = this.mockMvc.perform(get(requestURL)).andReturn();
String response = result.getResponse().getContentAsString();
assertEquals(JsonPath.parse(response).read("$.prop1").toString(),JsonPath.parse(response).read("$.prop2").toString());
有关详细信息,请参阅github readme。