我有一个简单的Spring测试
@Test
public void getAllUsers_AsPublic() throws Exception {
doGet("/api/users").andExpect(status().isForbidden());
}
public ResultActions doGet(String url) throws Exception {
return mockMvc.perform(get(url).header(header[0],header[1])).andDo(print());
}
我想验证响应正文是否为空。例如。做.andExpect(content().isEmpty())
答案 0 :(得分:8)
有一种更清洁的方法:
andExpect(jsonPath("$").doesNotExist())
请注意,您不能使用isEmpty
,因为它会检查一个空值,并假定该属性存在。当属性不存在时,isEmpty
会引发异常。而doesNotExist
验证该属性不存在,并且与$
一起使用时,它检查空的JSON文档。
答案 1 :(得分:4)
我认为其中一个选项应该能够实现您所寻找的目标,尽管不如isEmpty()
(来自ContentResultMatchers documentation)那么好:
.andExpect(content().bytes(new Byte[0])
或
.andExpect(content().string(""))