【问题标题】:Cant find the get() method in MockMvcResultHandlers在 MockMvcResultHandlers 中找不到 get() 方法
【发布时间】:2017-10-01 15:02:00
【问题描述】:
我已导入以下内容:
import org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
... 用于 Spring Boot 项目中的控制器测试,但我找不到 perform(get(,,,,)) 方法。
有什么建议吗?
【问题讨论】:
标签:
java
spring
unit-testing
spring-boot
spring-test
【解决方案1】:
perform() 方法是 org.springframework.test.web.servlet.request.MockMvcRequestBuilders 上的静态方法。
这是完整的签名:
public static MockHttpServletRequestBuilder get(URI uri) {
return new MockHttpServletRequestBuilder(HttpMethod.GET, uri);
}
它是这样使用的:
@Autowired
private MockMvc mockMvc;
mockMvc.perform(MockMvcRequestBuilders.get("/some/uri"))
.andExpect(MockMvcResultMatchers.status().isOk());
【解决方案2】:
添加 cmets。
导入库
Import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;
Check this [link][1].
[1]: https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/web/servlet/MockMvc.html