A quick example how to write unit tests for servlets
Okay, I’m writing a Servlet. So I want to write a unit test too.
With Mockito this is a quite simple task.
Here I show you a simple unit test for a Hello World Servlet.
The Servlet returns only „Hello World“.
[code]
public class HelloWorldServletTest {
  @Spy private HelloWorldServlet servlet;
  @Mock private ServletConfig servletConfig;
  @Mock private HttpServletRequest request;
  @Mock private HttpServletResponse response;
  @Mock private ServletOutputStream outputStream;
  @Before public void setUp() {
    MockitoAnnotations.initMocks(this);
  }
  @Test public void test() throws Exception {
    when(servlet.getServletConfig()).thenReturn(servletConfig);
    when(response.getOutputStream()).thenReturn(outputStream);
    servlet.doGet(request, response);
    verify(outputStream).println("Hello World!");
  }
}
[/code]
Mockito offers various annotations. For partial mocking you can use @Spy.
I’m mocking the request and response object with @Mock.
Then I call the servlet.doGet() method. And of course,
I also have to mock ServletConfig and Outputstream too. That’s it.
Pretty easy, isn’t it? Quick note: If your programmic logic is too complex,
move the logic to an concrete class and write a simple unit test.
 Check out the whole example on Github.
 Check out the whole example on Github.
Resources