对于要在项目里对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;
@Before
public void setUp(){
servlet = new ResultServlet();
mockRequest = createMock(HttpServletRequest.class); //加载
mockResponse = createMock(HttpServletResponse.class);
}
@After
public void tearDown(){
verify(mockRequest); //验证
verify(mockResponse);
}
@Test
public 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测试了。
分享到:
相关推荐
赠送jar包:junit-jupiter-api-5.7.2.jar; 赠送原API文档:junit-jupiter-api-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.7.2.pom; ...
赠送jar包:junit-jupiter-api-5.8.2.jar; 赠送原API文档:junit-jupiter-api-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.2.pom; ...
赠送jar包:junit-jupiter-engine-5.8.2.jar; 赠送原API文档:junit-jupiter-engine-5.8.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.8.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...
赠送jar包:junit-jupiter-api-5.4.2.jar; 赠送原API文档:junit-jupiter-api-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.4.2.pom; ...
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
赠送jar包:junit-jupiter-params-5.7.2.jar; 赠送原API文档:junit-jupiter-params-5.7.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.7.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...
junit-platform-launcher-1.7.0.jarjunit-platform-launcher-1.7.0.jar
赠送jar包:junit-platform-commons-1.8.2.jar; 赠送原API文档:junit-platform-commons-1.8.2-javadoc.jar; 赠送源代码:junit-platform-commons-1.8.2-sources.jar; 赠送Maven依赖信息文件:junit-platform-...
赠送jar包:junit-platform-launcher-1.8.0-M1.jar; 赠送原API文档:junit-platform-launcher-1.8.0-M1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-...
JUnit5相关的 JUnit Jupiter.jar依赖包,主要包含: junit-jupiter-5.5.1.jar,junit-jupiter-api-5.5.1.jar,junit-jupiter-engine-5.5.1.jar,junit-jupiter-params-5.5.1.jar,junit-jupiter-api-5.4.2.jar,...
junit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jarjunit-platform-launcher-1.6.2.jar
赠送jar包:junit-jupiter-engine-5.4.2.jar; 赠送原API文档:junit-jupiter-engine-5.4.2-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.4.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-engine-...
赠送jar包:junit-platform-launcher-1.6.1.jar; 赠送原API文档:junit-platform-launcher-1.6.1-javadoc.jar; 赠送源代码:junit-platform-launcher-1.6.1-sources.jar; 赠送Maven依赖信息文件:junit-platform-...
赠送jar包:junit-jupiter-params-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-params-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-params-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-...
赠送jar包:junit-jupiter-params-5.5.2.jar; 赠送原API文档:junit-jupiter-params-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-params-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-params-...
赠送jar包:junit-vintage-engine-5.5.2.jar; 赠送原API文档:junit-vintage-engine-5.5.2-javadoc.jar; 赠送源代码:junit-vintage-engine-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-vintage-engine-...
赠送jar包:junit-platform-engine-1.8.2.jar; 赠送原API文档:junit-platform-engine-1.8.2-javadoc.jar; 赠送源代码:junit-platform-engine-1.8.2-sources.jar; 赠送Maven依赖信息文件:junit-platform-engine...
赠送jar包:junit-jupiter-api-5.5.2.jar; 赠送原API文档:junit-jupiter-api-5.5.2-javadoc.jar; 赠送源代码:junit-jupiter-api-5.5.2-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.5.2.pom; ...
赠送jar包:junit-jupiter-api-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-api-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-api-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-api-5.8.0-...
赠送jar包:junit-jupiter-engine-5.8.0-M1.jar; 赠送原API文档:junit-jupiter-engine-5.8.0-M1-javadoc.jar; 赠送源代码:junit-jupiter-engine-5.8.0-M1-sources.jar; 赠送Maven依赖信息文件:junit-jupiter-...