【发布时间】:2016-01-12 06:02:58
【问题描述】:
我有一个类似于这个的简单带注释的控制器:
@RequestMapping(value = { "/search" }, method = RequestMethod.POST)
public String searchForm(@Valid Account account, ModelMap model, HttpServletRequest request) {
//do something
return "app";
}
我想用这样的单元测试来测试它:
private List<Account> listAccount = new ArrayList<Account>();
@Before
public void prepairUp() {
// //// // ===============SETUP FOR MOCK========================
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(accountController).build();
}
@Test
public void tesControllerSearchForm() throws Exception {
ModelMap modelMap = mock(ModelMap.class);
Account account = mock(Account.class);
HttpServletRequest request = mock(HttpServletRequest.class);
final String review = accountController.searchForm(account, modelMap , request);
when(accountService.findAllAccount()).thenReturn(listAccount);
mockMvc.perform(MockMvcRequestBuilders.post("/search")).andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.model().attribute("listAccounts", listAccount))
.andExpect(MockMvcResultMatchers.view().name(review));
}
它不起作用,不失败,不正确,错误行
final String review = accountController.searchForm(account, model, request);
【问题讨论】:
标签: spring-mvc mockito junit4