我有一个控制器映射
@RequestMapping(value = "/something", method = RequestMethod.GET)
public String get(@RequestParam("id") Person aPerson, Model aModel) {
aModel.addAttribute("person", aPerson);
return "index";
}
如何通过MockMvc对此进行测试?
我可以做这样的事情
mockMvc.perform(get("/something?id=1")).andExpect(status().is2xxSuccessful());
但是,这将不起作用,因为RequestParam是一个对象,而不是String。转换是由Spring完成的,但是我正在对该方法进行单元测试,并且不想启动应用程序上下文。如何使用MockMvc进行单元测试?
答案 0 :(得分:0)
您可以尝试类似的
@Test
public void test() throws Exception {
Model model= new Model();
mockMvc.perform(MockMvcRequestBuilders.get("/something?id=1")
.content(asJsonString(model))
.contentType(MediaType.APPLICATION_JSON)
.accept(MediaType.APPLICATION_JSON)).andExpect(status().is2xxSuccessful());
}