Junit 测试 servlet--easymock

对于要在项目里对servlet进行单元测试,可以使用junit进行,而用junit测试servlet时有两种方法,一种使用httpunit + servlet测试,另一种是easymock + servlet,在这里重点介绍使用easymock方法进行的junit测试。

 

环境:eclipse 3.7 ,  junit 4 ,  easymock 3.1。

 

测试单元代码如下 : 

 

 

Java代码   收藏代码
  1. import static org.junit.Assert.fail;  
  2. import static org.easymock.EasyMock.*;  
  3.   
  4. import java.io.IOException;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9. import javax.xml.ws.Action;  
  10.   
  11. import org.junit.After;  
  12. import org.junit.Before;  
  13. import org.junit.Test;  
  14.   
  15. import com.joyveb.award.web.AwardResultServlet;  
  16.   
  17. public class ResultServletTest {  
  18.   
  19.     private AwardResultServlet servlet;  
  20.     private HttpServletRequest mockRequest;  
  21.     private HttpServletResponse mockResponse;  
  22.       
  23.     @Before  
  24.     public void setUp(){  
  25.         servlet = new ResultServlet();  
  26.           
  27.         mockRequest = createMock(HttpServletRequest.class);         //加载  
  28.         mockResponse = createMock(HttpServletResponse.class);  
  29.     }  
  30.       
  31.     @After  
  32.     public void tearDown(){  
  33.         verify(mockRequest);        //验证  
  34.         verify(mockResponse);  
  35.     }  
  36.       
  37.       
  38.     @Test  
  39.     public void testDoPostHttpServletRequestHttpServletResponse() throws ServletException, IOException {  
  40.           
  41.         mockRequest.getParameter("id");         //传入参数  
  42.         expectLastCall().andReturn("1");  
  43.           
  44.         mockRequest.getParameter("name");       //传入参数  
  45.         expectLastCall().andReturn("chevy");  
  46.           
  47.         mockRequest.getParameter("gender");     //传入参数  
  48.         expectLastCall().andReturn("男");  
  49.           
  50.         replay(mockRequest);                    //回放  
  51.         replay(mockResponse);  
  52.           
  53.         servlet.doPost(mockRequest, mockResponse);  //调用  
  54.                   
  55.     }  
  56.   
  57. }  
 

 

 

 

 

servlet类就可以根据上面定义的类名,简单写个doPost方法就可以进行junit测试了。

猜你喜欢

转载自blog.csdn.net/livia1234/article/details/46444351
今日推荐