Я хочу, чтобы проверить этот метод MockMvcКак передать BindingResult в качестве параметра запроса?
@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){
...
}
Как я могу передать макет из BindingResult результата от метода испытаний saveCandidate
метода?
мой метод испытания:
@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
}
}
Я хочу, чтобы установить в reqest результат моего макете
Пожалуйста, объясните мне, как я могу передать @ModelAttribute ("кандидатFromRequest") @Validated() Кандидат кандидатаFromRequest? –
Я хочу передать его с недопустимыми данными –
@ user2740224 Вы тоже не можете этого сделать. Spring генерирует этот объект из ваших параметров запроса. Отправить параметры плохого запроса. –