junit 4,easymock 3
1、测试代码
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
public class SampleServletTest {
private SampleServlet servlet;
private HttpServletRequest mockRequest;
private HttpServletResponse mockRespones;
private ServletContext mockServletContext;
private RequestDispatcher mockDispathcher;
@Before
public void setUp() throws Exception {
mockRequest = EasyMock.createMock(HttpServletRequest.class);
mockRespones = EasyMock.createMock(HttpServletResponse.class);
mockServletContext = EasyMock.createMock(ServletContext.class);
mockDispathcher = EasyMock.createMock(RequestDispatcher.class);
servlet = new SampleServlet() {
private static final long serialVersionUID = 1L;
public ServletContext getServletContext() {
return mockServletContext;
}
};
}
@Test
public void testDoGetHttpServletRequestHttpServletResponse() throws ServletException, IOException {
EasyMock.expect(mockRequest.getParameter("username")).andReturn("test").times(1);
EasyMock.expect(mockRequest.getParameter("password")).andReturn("123456").times(1);
EasyMock.expect(mockServletContext.getRequestDispatcher("dispather")).andReturn(mockDispathcher).times(1);
mockDispathcher.forward(mockRequest, mockRespones);
EasyMock.expectLastCall();
EasyMock.replay(mockRequest, mockServletContext, mockDispathcher);
servlet.doGet(mockRequest, mockRespones);
EasyMock.verify(mockDispathcher);
}
@Test
public void testDoGetFailed() throws ServletException, IOException {
EasyMock.expect(mockRequest.getParameter("username")).andReturn("test").times(1);
EasyMock.expect(mockRequest.getParameter("password")).andReturn("123458").times(1);
EasyMock.replay(mockRequest);
try {
servlet.doGet(mockRequest, mockRespones);
} catch (Exception e) {
assertEquals("Login error", e.getMessage());
}
EasyMock.verify(mockRequest);
}
}
2、实现代码
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SampleServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
if ("test".equals(username) && "123456".equals(password)) {
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context
.getRequestDispatcher("dispather");
dispatcher.forward(request, response);
} else {
throw new RuntimeException("Login error");
}
}
}
分享到:
相关推荐
Junit+EasyMock单元测试使用资料以及案例分析,供学习单元测试的朋友学习使用!
junit测试 test txt file
学生信息管理系统,Javaweb网站,使用了jsp,servlet,Junit,filter,还有附带的sql语句
Junit+EasyMock单元测试的jar包,由于一次上传的资料大小首先,所以只上传了部分资料.
junit测试测试junit测试测试junit测试测试junit测试测试
Myeclipse中的JUnit测试详细
Junit,测试Junit,测试案例使用
Junit测试jar包
Junit测试.mp4
Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法...为了实现这种测试方式,我们按照如下步骤进行。
Junit 通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比 较,对于void类型的方法,我们无法从它的return语句获得具体的返回值...
Junit单元测试Junit单元测试Junit单元测试Junit单元测试
软件测试JUnit测试框架的使用实验1报告
JUnit测试代码示例,JUnit3的代码示例。
通过单元测试工具(Junit)支持,使学生对单元测试中测试用例的设计原则,设计方法进行了解和掌握。
junit3 junit4 api,单元测试的利器
使用Eclipse进行Junit测试,junit类的创建
javaweb中.java文件测试需要的框架(junit测试).rar
自己做了一个junit测试包,用起来很方便
JUNIT测试