【发布时间】:2016-08-08 12:41:38
【问题描述】:
我为控制器层方法编写了一个 jUnit 测试用例,但由于预期结果不匹配而失败。 测试用例如下:
@Test
public void testGetNodeStatusCount() throws Exception {
ListNodes listNodes = new ListNodes();
// ArgumentCaptor<Integer> userId = ArgumentCaptor.forClass(Integer.class);
when(userManagementHelper.getNodeStatusCount(0)).thenReturn(
new ResponseEntity<ListNodes>(listNodes, new HttpHeaders(),
HttpStatus.OK));
mockMvc.perform(get("/usermgmt/nodestatus")).andExpect(status().isOk());
}
这个测试用例的编写方法如下:
@RequestMapping(value = "/nodestatus", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<ListNodes> getNodeStatusCount(@RequestParam("userId") int userId) {
return userManagementHepler.getNodeStatusCount(userId);
}
我没有得到的是,如果 status 已设置为 OK,那么我将如何获得 400 而不是 200。
我对“控制器”的这个 MockMVC 测试还很陌生,所以请建议我学习这个的来源。
【问题讨论】:
标签: java spring-mvc junit mockito