package com.root; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.io.StringWriter; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class FormServletTest { @Mock HttpServletRequest request; @Mock HttpServletResponse response; @Mock RequestDispatcher requestDispatcher; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); } @Test public void testFormServlet() throws Exception { when(request.getParameter("height")).thenReturn("2"); when(request.getParameter("weight")).thenReturn("80"); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); when(response.getWriter()).thenReturn(pw); new FormServlet().doPost(request, response); verify(request).setAttribute("bmi", 20.0); String result = sw.getBuffer().toString().trim(); assertEquals("20.0", result); } }