Как написать модульный тестовый пример с mockito для этого класса контроллера
Это мой класс контроллеров. Теперь, когда я хочу написать тестовые примеры для класса контроллера ниже, используя mockito
кто-нибудь может мне помочь от этого?
@Controller
public class LoginController {
@Autowired
@Qualifier("skillService")
private SkillService skillService;
@Autowired
private SkillReferenceData skillReferenceData;
@Autowired
private EmployeeValidator employeeValidator;
@RequestMapping(value = "/loginview.html", method = RequestMethod.GET)
@PreAuthorize("hasAuthority('ROLE_ANONYMOUS')")
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse respresultonse) throws Exception {
ModelAndView model = new ModelAndView("login");
return model;
}
@RequestMapping("/login.htm")
protected ModelAndView onSubmit(@ModelAttribute("userVB") UserVB userVB,
BindingResult result, HttpServletRequest request,
HttpServletResponse response) throws Exception {
return new ModelAndView("login");
}
}
1 ответ
Создайте экземпляр вашего класса Controller:
@InjectMocks
LoginController loginController;
Используя эту аннотацию, вы также можете получить доступ и смоделировать свои личные переменные, такие как skillService, skillReferenceData, employeeValidator, используя:
@Mock(name = "skillService")
SkillService mockSkillService = createMock(SkillService.class);
Не забудьте инициализировать аннотации Mockito, добавив MockitoAnnotations.initMocks(this);
перед вашими юнит-тестами.
Наконец, вы можете издеваться над вашими конструкторами, используя:
Mockito.when(new ModelAndView(any(String.class).thenReturn(null)));