JsonPathResultMatchers 不能应用于 ResultMatcher

JsonPathResultMatchers cannot be applied to ResultMatcher

我正在尝试使用 spring 引导进行简单测试。

mockMvc.perform(post("/user")
       .contentType(MediaType.APPLICATION_JSON)
       .content(objectMapper.writeValueAsString(userJohn)))
       .andExpect(jsonPath("$[0].username", is("bob")));

对 jsonPath 使用此导入:

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;

我得到:

andExpect (org.springframework.test.web.servlet.ResultMatcher) in ResultActions cannot be applied to (org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath)

如果我尝试将其转换为 (ResultMatcher),我会得到:

java.lang.ClassCastException: org.springframework.test.web.servlet.result.JsonPathResultMatchers cannot be cast to org.springframework.test.web.servlet.ResultMatcher

我使用的是 Spring 引导的 2.0.4 版本。 有什么问题吗?

谢谢

试一试:

mockMvc.perform(post("/user")
   .contentType(MediaType.APPLICATION_JSON)
   .content(objectMapper.writeValueAsString(userJohn)))
   .andExpect(jsonPath("$[0].username").value("bob"));

我不知道这些变化是什么时候。查看更多:

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/servlet/result/JsonPathResultMatchers.html