Я написал тестовый пример jUnit для метода уровня контроллера и не работает из-за несоответствия ожидаемому результату. Тестовый пример выглядит следующим образом:Ошибка в тестовом примере MockMvc для контроллера
@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);
}
Вещь, что я не получаю что если статус был установлен OK, чем я получаю 400 вместо 200.
Еще одна вещь, которую я новичок в этом тестировании MockMVC для «Контроллера», поэтому, пожалуйста, предложите мне источник, чтобы узнать об этом.
Спасибо за ответ, можете ли вы предложить мне источник, чтобы узнать все это? – dexter
Извинения, я целенаправленно не добавлял никаких ссылок, поскольку они могут меняться со временем. Ваш подход правильный, и если вы используете google "mockMvc tutorials", вы найдете много ссылок. Единственное немного сложное в mockMvc - асинхронное тестирование, спад, поскольку ваши контроллеры не асинхронны, вы должны быть в порядке – Leon