このメソッドを MockMvc でテストしたい
@RequestMapping("/saveCandidate")
public String saveCandidate(
Model model,
@ModelAttribute("candidateFromRequest") @Validated() Candidate candidateFromRequest,
BindingResult result,
@ModelAttribute("skillsIdList") Set<Skill> skills,
@ModelAttribute("vacanciesForCandidate") Set<Vacancy> vacanciesForCandidate,
@ModelAttribute("eventsForCandidate") Set<Event> eventsForCandidate,
RedirectAttributes redirectAttributes){
...
}
テストメソッドからsaveCandidate
メソッドにBindingResult結果のモックを渡すにはどうすればよいですか?
私のテスト方法:
@Test
public void saveCandidateWithErrors() throws Exception{
BindingResult result= mock(BindingResult.class);
when(result.hasErrors()).thenReturn(true);
when(candidateService.findByName(anyString())).thenReturn(new ArrayList<Candidate>());
MockHttpServletRequestBuilder request = MockMvcRequestBuilders.get("/saveCandidate");
if(result.hasErrors())
//how test code that writing here?
}
else{
//I always hit it here
}
}
モックの結果をリクエストするように設定したい