2016-09-23 4 views
0

Это мой класс контроллера. Теперь, когда я хочу написать единичные тестовые примеры для следующего класса контроллера, используя 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"); 
    } 

} 
+0

использовать mockmvc для этого http://docs.spring.io/spring-security/site/docs/current/reference/html/test- mockmvc.html – Jens

ответ

0

Создание экземпляра класса контроллера по:

@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))); 

 Смежные вопросы

  • Нет связанных вопросов^_^