【发布时间】:2017-07-24 09:36:05
【问题描述】:
这是我的控制器类:
@RequestMapping(value="/administration", method=RequestMethod.GET)
public ModelAndView adminstrationPage(HttpServletRequest request){
ModelAndView mv = new ModelAndView();
mv.setViewName("administration");
Optional<User> uo = userRepository.findOneByName(request.getUserPrincipal().getName());
... return mv;
}
这是我的 LoginControllerTest:
@InjectMocks
LoginController loginController;
@Mock
private LoginService loginService;
@Mock
private UserRepository userRepository;
@Mock
User user;
MockMvc mockMvc;
@Test
public void administartion() throws Exception{
Mockito.when(userRepository.findOneByName("test")).thenReturn(Optional.of(user));
mockMvc.perform(get("/administration"))
.andExpect(status().isOk());
}
现在得到嵌套异常是 java.lang.NullPointerException。请帮帮我。
【问题讨论】:
-
请粘贴完整的LoginControllerTest.java代码
-
您是否按照tutorialspoint.com/mockito/mockito_junit_integration.htm 的建议使用@RunWith(MockitoJUnitRunner.class) 注释您的课程
-
在 mock 上调用 setter 有什么意义?对我来说毫无意义。
-
我已经更新了我的代码...但还是同样的问题