Как написать модульный тестовый пример с 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)));
Другие вопросы по тегам