json – 使用Spring的mockMvc,如何检查返回的数据是否包含字符串的一部分?

前端之家收集整理的这篇文章主要介绍了json – 使用Spring的mockMvc,如何检查返回的数据是否包含字符串的一部分?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用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 + "\"}"))); 

猜你在找的Spring相关文章