У меня есть следующий контроллер, и я хочу провести на нем тест Junit,
@RequestMapping(value = "/path", method = RequestMethod.Get)
public String getMyPath(HttpServletRequest request, Model model) {
Principal principal = request.getUserPrincipal();
if (principal != null) {
model.addAttribute("username", principal.getName());
}
return "view";
}
Метод JUnit выглядит следующим образом:
@Test
public void testGetMyPath() throws Exception {
when(principalMock.getName()).thenReturn("someName");
this.mockMvc.perform(get("/path")).andExpect(status().isOk());
}
PrincipalMock объявлен так:
@Mock
private Principal principalMock;
Проблема в том, что я получаю исключение NullPointerException в этой строке при вызове метода getName () для принципала.
model.addAttribute("username", principal.getName());