`

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;
	
	@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测试了。

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 stevenjohn 2012-11-15  
想问下,怎么接收servlet的response给返回来的值呢?


我自己写的请求过去servlet成功了,接收servlet的response,总是报错,也不知道咋弄呢?


还有easyMock测试servlet的时候,是不是 servlet  里面加断点的话,也没反应,不能debug???

相关推荐

    4-EasyMock-Servlet.rar

    在“4-EasyMock-Servlet.rar”这个压缩包中,我们很可能是得到了一个关于如何使用EasyMock进行Servlet测试的教程或者示例代码。让我们详细探讨一下EasyMock与Servlet结合使用的相关知识点。 1. **EasyMock基本概念*...

    easymock测试servlet

    在"easymock测试servlet"的场景中,我们看到`SampleServletTest`类正在使用Easymock来测试`SampleServlet`类的行为。以下是一些关键知识点: 1. **Easymock库**:Easymock是一个开源库,它提供了模拟Java对象的方法...

    easymock-request.getParamsNames

    本文将详细讲解如何使用 Easymock 对 Servlet 进行单元测试,特别是针对 `HttpServletRequest` 中获取参数的方法 `getParamsNames()`。 在Servlet编程中,`HttpServletRequest` 是一个核心接口,它提供了处理HTTP...

    servlet测试jar包

    1. **导入依赖**:将junit4.4.jar和easymock-3.1.jar添加到项目的类路径中,以便在编译和运行测试时能使用这两个库。 2. **创建测试类**:为要测试的Servlet创建一个单独的测试类,通常这个类会继承自`junit....

    spring2配置

    7. **测试**:在Spring2中,我们可以使用JUnit进行单元测试,结合`Mockito`或`EasyMock`进行依赖模拟,确保代码质量。 以上就是MyEclipse中配置Spring2的基本流程和相关知识点。虽然Spring已经发展到更高版本,但...

    junit mock

    在Servlet的doGet()测试中,可以使用mock的HttpRequest和HttpResponse对象,而在Service层测试中,可以模拟DAO的接口,避免真实数据库交互。 在进行测试时,我们还需要关注测试结果的评估。通过测试报告可以了解...

    dubbo、dubbox编译所需jar包

    easymock-1.2_Java1.3.jar easymock-3.0.jar easymockclassextension-3.0.jar fastjson-1.1.31.jar fastjson-1.2.28.jar fastjson-1.2.31.jar file-management-1.2.1.jar fst-1.55.jar grizzly-core-2.1.4.jar ...

    Spring 2.5 TestContext

    - Spring TestContext框架支持模拟对象(如Mockito)和存根(如EasyMock),使得在测试中可以替换真实的依赖,从而隔离测试。 - 使用`@Autowired`和`@Qualifier`注解可以自动注入测试所需的bean,同时可以通过`@...

    simple-crm-rest-and-spa:使用 Servlets + Hibernate 持久性 + JUnit 测试 + SPA w 的 REST 服务。 AJAX 请求 + MVC 架构 + 更多的库和技术..

    JUnit 测试添加到使用 EasyMock 库模拟的几种方法中。 提供 Ant 构建文件(最初使用 Tomcat 部署的服务器)。 客户端(Web 前端)使用 AJAX 请求和自定义 MVC 架构:使用 Q.js 进行承诺、使用 Sammy.js 路由、...

    tomcat-8.0依懒包

    3. **easymock-3.4.jar**:EasyMock是一个模拟框架,用于单元测试,允许开发者创建和控制对象的预期行为。在测试Tomcat的组件或服务时,EasyMock可以帮助隔离依赖并提供预定义的行为。 4. **junit-4.12.jar**:...

    xun:spring, spring-mvc, struts2, freemarker, hibernate, mybatis, spring-data-jpa, shiro

    -展示柜奥普方面spring-aop 引导程序缓存——弹簧缓存数据库米巴蒂斯蔚来米娜2 nosql redis -- jedis, spring-data-redis 序列化——msgpack,protobuf 测试单位——dbunit、easymock、junit、mockito、powermock ...

    S03-tomcat源码调试以及架构学习1

    2. **构建环境**: 创建一个Maven项目,如`catalina_home`,并配置`pom.xml`文件,添加必要的依赖,包括Tomcat自身的模块和其他辅助测试库(如JUnit和EasyMock)。 3. **配置源码路径**: 在IDE中导入Tomcat源码,确保...

    gwt-test-utils:gwt-test-utils是一个Java框架,允许以高效,简便的方式测试GWT客户端代码

    这意味着您可以不受限制地使用任何Java工具:JUnit,反射,Easymock,Mockito等。 编写测试如下所示: @Testpublic void clickOnButtonShouldDisplayMessageInLabel() { // Arrange SampleView view = new ...

    tomcat源码运行缺少jar

    2. **easymock**: EasyMock是一个单元测试框架,允许开发者创建模拟对象来隔离测试代码。在Tomcat的源码测试中,它可能用于模拟复杂的协作对象。 3. **hamcrest-core**: Hamcrest是一个匹配对象的库,常用于单元...

    Tomcat8-源码编译及开发1

    它包含了JUnit和EasyMock作为测试库,以便进行单元测试。 在IDEA中导入这个项目,选择“Import Project”,然后浏览到`pom.xml`所在目录。IDEA会自动识别这是一个Maven项目,并加载相关的依赖和构建配置。 在IDEA...

    StrutsTest

    StrtusTest是junit的扩展,使用它,不需要启动servlet容器就可以方便的测试struts应用程序(容器外测试)。它也是属于使用Mock对象测试,但是与EasyMock不同的是,EasyMock是提供了创建Mock对象的API,而StrutsTest...

    spring框架各jar包详解

    Spring 的测试套件用到了 EasyMock,因此只有构建和运行测试套件时才用到这个 JAR,无需随你的应用一起发布。 freemarkerfreemaker.jar Spring 提供了 FreeMarker 模板引擎的包装类,还为把 FreeMarker 模板用作 ...

    JavaEE求职简历-姓名-JAVA开发工程师.docx

    5. **单元测试**:熟练使用JUnit进行单元测试,了解Dbunit和EasyMock,对测试驱动开发(TDD)有一定的理解和实践。 6. **Web前端技术**:熟悉HTML5、CSS3、JavaScript,能使用jQuery、Ajax进行前后端交互,有Vue.js...

    J2EE 学习计划J2EE 学习计划J2EE 学习计划J2EE 学习计划

    - **Mock框架**:诸如Mockito、EasyMock等模拟对象框架,在编写单元测试时非常有用,它们可以帮助创建模拟对象来替代真实的依赖项,从而避免复杂的外部系统集成问题。 - **版本控制工具**:如Git等版本控制系统是...

Global site tag (gtag.js) - Google Analytics