任何人都可以告诉我如何使用Mockito
在我的控制器中测试这个指定的方法@RequestMapping(value = "categories", params = {"save"}, method = RequestMethod.POST)
public String newCategory(@Valid Category category){
categoriesService.save(category);
return "redirect:categories";
}
我尝试这样做,但我获取的是HTTP状态代码400而不是302,而且我不知道如何创建正确的请求来测试此映射
this.mockMvc
.perform(post("/categories")
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.sessionAttr("category", new Category()))
.andExpect(status().isFound())
.andExpect(redirectedUrl("categories"));
修改
好的,我已将测试更改为此表单,现在它正在为我工作。
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("name", "test");
params.add("save", "save");
this.mockMvc
.perform(post("/manager/categories")
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.params(params))
.andExpect(status().isFound())
.andExpect(redirectedUrl("categories"));