У меня есть приложение, использующее java, thymeleaf и springboot. На домашней странице localhost: 8080 пользователей должны ввести значение, которое будет перенаправлено на вторую страницу «localhost: 8080/getValues»Как написать junit-тест, который зависит от страницы индекса?
Как написать junit-тест, чтобы я мог проверить ожидаемые значения? В настоящее время мои тесты приближаются, поскольку 404 страница не найдена, потому что она зависит от значения, которое пользователь вводит на домашней странице.
Тест
@Test
public void test() throws Exception {
this.mockMvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(view().name("index"))
.andDo(print());
//test passes
}
@Test
public void testVals() throws Exception {
this.mockMvc.perform(post("getValues"))
.andExpect(status().isNotFound()) //passes
.andExpect(model().attributeExists("webHist")); //fails //no modelandviewfound
}
Контроллер
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView index(Locale locale) throws MalformedURLException {
ModelAndView model = new ModelAndView("index");
return model;
}
@RequestMapping(value = "/getValues", method = RequestMethod.POST)
public ModelAndView getValues(Info info) throws MalformedURLException {
ModelAndView model = new ModelAndView("getValues");
model.addObject("userID", info.userID());
Customer custinfo = index.readXML(info.userID());
model.addObject("custinfo", custinfo);
model.addObject("webHist", Web_HistoryRepo.getAll(info.userID()));
return model;
}
Вы могли бы показать код, как выглядят контроллеры? – pezetem
@pezetem Я добавил свой контроллер, не могли бы вы рассказать мне, как я смогу изменить эту многостраничную логику на SPA? Я думаю, что если я изменю его на SPA, он удалит зависимость – Jesse