[b]Fala galera,
Seguinte to querendo usar EasyMocks para testar meu servlet.
Enviar paramentros para o servlet e testar a resposta do getRequestDispatcher eu consigo na boa como mostrado no código abaixo.
Agora eu não consigo fazer teste com sessões e request.setAttribute("","") assim como eu fiz para o retorno esperado do getRequestDispatcher.
Como eu verifico o retorno de session.setAttribute e request.setAttribute("","") enviados por um serlvet?[/b]
Classe de teste.
Metodo da Classe de teste
public void testLoginComSucesso() throws Exception {
HttpServletRequest requestMock = createMock(HttpServletRequest.class);
expect(requestMock.getParameter(“login”)).andReturn(“joão”);
expect(requestMock.getParameter(“senha”)).andReturn(“123456”);
expect(requestMock.getRequestDispatcher(“ctrlprincipal”)).andReturn(TestaRetornoRequestDispatcher());
replay(requestMock);
HttpServletResponse responseMock = createMock(HttpServletResponse.class);
replay(responseMock);
LoginServlet loginServlet = new LoginServlet();
loginServlet.doGet(requestMock, responseMock);
}
private RequestDispatcher TestaRetornoRequestDispatcher() {
RequestDispatcher dispatcherMock = createNiceMock(RequestDispatcher.class);
replay(dispatcherMock);
return dispatcherMock;
}
}
Servlet
public class LoginServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String url = "";
if ("joão".equals(request.getParameter("login")) && "123456".equals(request.getParameter("senha"))) {
url = "ctrlprincipal";
} else {
url = "login.jsp";
}
request.getRequestDispatcher(url).forward(request, response);
}
}
Valeu galera.