|
MockMvc. что тестируют в этом методе?
#38422708
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Есть такой тест:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
@Test
public void add() {
TodoDTO formObject = TodoTestUtil.createFormObject(null, TodoTestUtil.DESCRIPTION, TodoTestUtil.TITLE);
Todo model = TodoTestUtil.createModel(TodoTestUtil.ID, TodoTestUtil.DESCRIPTION, TodoTestUtil.TITLE);
when(serviceMock.add(formObject)).thenReturn(model);
MockHttpServletRequest mockRequest = new MockHttpServletRequest("POST", "/todo/add");
BindingResult result = bindAndValidate(mockRequest, formObject);
RedirectAttributesModelMap attributes = new RedirectAttributesModelMap();
initMessageSourceForFeedbackMessage(TodoController.FEEDBACK_MESSAGE_KEY_TODO_ADDED);
String view = controller.add(formObject, result, attributes);
verify(serviceMock, times(1)).add(formObject);
verifyNoMoreInteractions(serviceMock);
String expectedView = TodoTestUtil.createRedirectViewPath(TodoController.REQUEST_MAPPING_TODO_VIEW);
assertEquals(expectedView, view);
assertEquals(Long.valueOf((String) attributes.get(TodoController.PARAMETER_TODO_ID)), model.getId());
assertFeedbackMessage(attributes, TodoController.FEEDBACK_MESSAGE_KEY_TODO_ADDED);
}
1. 2. 3. 4. 5. 6. 7.
private BindingResult bindAndValidate(HttpServletRequest request, Object formObject) {
WebDataBinder binder = new WebDataBinder(formObject);
binder.setValidator(validator);
binder.bind(new MutablePropertyValues(request.getParameterMap()));
binder.getValidator().validate(binder.getTarget(), binder.getBindingResult());
return binder.getBindingResult();
}
1. 2. 3.
private void initMessageSourceForFeedbackMessage(String feedbackMessageCode) {
when(messageSourceMock.getMessage(eq(feedbackMessageCode), any(Object[].class), any(Locale.class))).thenReturn(FEEDBACK_MESSAGE);
}
1. 2. 3. 4. 5. 6.
public static String createRedirectViewPath(String path) {
StringBuilder redirectViewPath = new StringBuilder();
redirectViewPath.append("redirect:");
redirectViewPath.append(path);
return redirectViewPath.toString();
}
1. 2. 3.
private void assertFeedbackMessage(RedirectAttributes attributes, String messageCode) {
assertFlashMessages(attributes, messageCode, TodoController.FLASH_MESSAGE_KEY_FEEDBACK);
}
вопрос такой - где здесь посылается http запрос и посылается ли вообще?
|
|
|