我正在使用Spring 3.2.11.RELEASE和JUnit 4.11.使用Spring mockMvc框架,如何检查返回JSON数据的方法是否包含特定的JSON元素?我有
mockMvc.perform(get("/api/users/" + id))
.andExpect(status().isOk())
.andExpect(content().string("{\"id\":\"" + id + "\"}"));
但这会检查与返回的字符串的完全匹配,我宁愿检查JSON字符串是否包含我的本地字段“id”包含的值.
最佳答案
看起来你可以传递一个Hamcrest Matcher而不是一个字符串.应该是这样的:
mockMvc.perform(get("/api/users/" + id))
.andExpect(status().isOk())
.andExpect(content().string(org.hamcrest.Matchers.containsString("{\"id\":\"" + id + "\"}")));