2016-09-23 110 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); 

不要忘记在单元测试前添加MockitoAnnotations.initMocks(this);来初始化Mockito注释。

Mockito.when(new ModelAndView(any(String.class).thenReturn(null))); 
相关问题