2
С выше коде я всегда получаю сообщение об ошибке в строке тестаMockito когда ... thenResult всегда возвращает нуль
when(request.getServletContext().getAttribute("SessionFactory"))
.thenReturn(factory);
Любые идеи?
Java класс
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
SessionFactory sessionFactory = (SessionFactory) request.getServletContext().getAttribute("SessionFactory");
...............
}
Тест класс
@Test
public void testServlet() throws Exception {
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
factory = contextInitialized();
when(request.getServletContext().getAttribute("SessionFactory")).thenReturn(factory); //Always error here
when(request.getParameter("empId")).thenReturn("35");
PrintWriter writer = new PrintWriter("somefile.txt");
when(response.getWriter()).thenReturn(writer);
new DeleteEmployee().doGet(request, response);
verify(request, atLeast(1)).getParameter("username"); // only if you want to verify username was called...
writer.flush(); // it may not have been flushed yet...
assertTrue(FileUtils.readFileToString(new File("somefile.txt"), "UTF-8")
.contains("My Expected String"));
}
Удивительный Lunivore !! Это была ошибка –
Добро пожаловать. Добро пожаловать в StackOverflow! – Lunivore
@ carloshernando принять ответ, если вы считаете это правильным – JeanValjean