读书人

Junit 测试 servlet-easymock

发布时间: 2012-08-28 12:37:01 作者: rapoo

Junit 测试 servlet--easymock

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

?

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

?

测试单元代码如下 :?

?

?

import static org.junit.Assert.fail;import static org.easymock.EasyMock.*;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.xml.ws.Action;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.joyveb.award.web.AwardResultServlet;public class ResultServletTest {private AwardResultServlet servlet;private HttpServletRequest mockRequest;private HttpServletResponse mockResponse;@Beforepublic void setUp(){servlet = new ResultServlet();mockRequest = createMock(HttpServletRequest.class);//加载mockResponse = createMock(HttpServletResponse.class);}@Afterpublic void tearDown(){verify(mockRequest);//验证verify(mockResponse);}@Testpublic void testDoPostHttpServletRequestHttpServletResponse() throws ServletException, IOException {mockRequest.getParameter("id");//传入参数expectLastCall().andReturn("1");mockRequest.getParameter("name");//传入参数expectLastCall().andReturn("chevy");mockRequest.getParameter("gender");//传入参数expectLastCall().andReturn("男");replay(mockRequest);//回放replay(mockResponse);servlet.doPost(mockRequest, mockResponse);//调用}}
?

?

?

?

?

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

?

?

?

?

?

?

?

?

读书人网 >编程

热点推荐