2017-01-05 5 views
0

Я пишу тест для приложения SpringMvc, и у меня возникла проблема.Метод тестирования SpringMVC с параметрами

вот мой метод контроллера для теста:

@RequestMapping(value = "submit", method = RequestMethod.POST, params = "delete") 
public String delete(@ModelAttribute("inputBean") InputBean inputBean) { 
    Book book = (Book) itemServiceController.getItemFindByIdService().findById(inputBean.getId()); 
    Author author = getAuthorOfBook(book); 
    author.getBookList().remove(book); 
    authorServiceController.getAuthorCreateService().create(authorServiceController.getAuthorUpdateService().update(author)); 
    itemServiceController.getItemDeleteService().delete(inputBean.getId()); 
    return "redirect:index.html"; 
} 

вот мой mockMvc:

mockMvc.perform(post("/submit?delete") 
      .contentType(MediaType.APPLICATION_FORM_URLENCODED) 
      .param("id", "1") 
      .sessionAttr("inputBean", new InputBean()) 
      ) 
    .andExpect(status().isOk()) 
    .andExpect(view().name("indexLib")) 
    .andExpect(model().attribute("inputBean", hasProperty("id", is(1)))); 

Это возвращает статус статус HTTP 400.

метод контроллера производится для 1 из 4 формы кнопки отправки. Как это исправить?

+0

Что фактическое исключение вы получаете? – hakamairi

ответ

0

Я нашел ответ, правильный URL должен быть

"/submit?id=102&delete="