私は、java、thymeleaf、およびspringbootを使用してアプリケーションを持っています。 localhost:8080ユーザーは、2番目のページ "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