用的JUnit是4.4版,EasyMock2.3。
这是Servlet:
package net.javayuan.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @(#)LoginServlet.java 2008-6-4 下午11:39:05
*
* @author Yuan
* LoginServlet
*/
public class LoginServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -7068817837964223972L;
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{
String username = request.getParameter("username").trim();
String password = request.getParameter("password");
if ("yuan".equals(username) && "123456".equals(password))
response.sendRedirect("welcome.jsp");
else
response.sendRedirect("error.jsp");
}
}
这是Test Case:
package net.javayuan.servlet;
import static org.easymock.EasyMock.*;
import java.io.IOException;
import org.junit.Test;
import org.junit.After;
import org.junit.Before;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @(#)LoginServlet.java 2008-6-5 上午09:19:42
*
* @author Yuan
* LoginServlet Test Case
*/
public class LoginServletTest {
private LoginServlet servlet;
private HttpServletRequest mockRequest;
private HttpServletResponse mockResponse;
@Before
public void setUp(){
servlet = new LoginServlet();
//创建request和response的Mock
mockRequest = createMock(HttpServletRequest.class);
mockResponse = createMock(HttpServletResponse.class);
}
@After
public void tearDown(){
//为了验证指定的调用行为确实发生了,要调用verify(mock)进行验证。
verify(mockRequest);
verify(mockResponse);
}
/**
* 测试doPost方法
* @throws IOException
* @throws ServletException
* */
@Test
public void testDoPost() throws IOException, ServletException{
//录制request和response的动作
mockRequest.getParameter("username");
expectLastCall().andReturn("yuan");//设置前一方法被调用时的返回值
mockRequest.getParameter("password");
expectLastCall().andReturn("123456");
mockResponse.sendRedirect("welcome.jsp");
//回放
replay(mockRequest);
replay(mockResponse);
//开始测试Servlet的doPost方法
servlet.doPost(mockRequest, mockResponse);
}
}
不知道测试重定向的页面是不是这么测,我想应该是的。
分享到:
- 2008-06-05 15:38
- 浏览 3817
- 评论(2)
- 论坛回复 / 浏览 (2 / 3956)
- 查看更多
相关推荐
本文档举例并描述了单元测试用例的设计模板,并且给出了几种设计测试用例的方法
测试用例三个文件 一个Word写的测试用例模板 一个Word写的详细的测试用例 一个Excel写的测试用例模板 希望能对大家有帮助
软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件测试用例模版【仅供参考】软件...
写测试用例不可不看的好东东!!!.pdf 史上最全的测试用例设计方法总结.doc 如何设计编制软件测试用例.doc 测试用例.doc 测试用例的设计-边界值法例子.doc 测试用例的设计等价划分法.ppt 测试用例示例1.doc 测试用例表...
测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例测试用例示例
例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符, Web测试中的界面测试用例设计 软件测试 一、文本框、按钮等控件测试 1、文本框的测试 如何对文本框进行测试: a、输入正常的字母或数字;...
对于一个测试人员来说测试用例的设计与编写是一项必须掌握的能力。但有效的设计和熟练的编写却是一个十分复杂的技术,它需要你对整个软件不管从业 务还是功能上都有一个明晰的把握。如何系统、结构的对用例加以规范...
几乎每个系统都会用到,针对这几个方面,写如下测试用例一:增加1:在添加页面,输入要添加的数据项均合理,检查数据库以及列表页是否添加了相应的数据2:在添加页面,留出一个必填项为空,检查是否会提示3:按照...
一份比较详细的测试用例,发上来于大家分享一下。
基于busted单元测试框架的实例开发测试用例,spec目录下是基于busted的测试用例,lua的单元测试很难找,有需要的可以拿走
大多初学者都不知道测试用例该写什么,可以参照我写的一个测试用例啊!
测试用例设计综合策略 1. Myers提出了使用各种测试方法的综合策略: 1)在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。 【文章来源:文斯测试技术研究中心 ...
测试环境 win7操作系统和浏览器IE8 步骤 (1):打开浏览器,在浏览器的地址栏中输入“用户登录”页面的URL, 单击【转到】按钮; (2):在“用户名”文本框输入:abc1234; (3):在“密码”文本框输入:abc5678...
硬件测试用例参考(二)
如何编写一个好的测试用例,如何编写一个好的测试用例,如何编写一个好的测试用例
测试用例的分类 3 文本框需求 4 字段为特殊代码校验: 4 文本框为数值型 4 文本框为日期型 5 文本框为时间型 6 密码框 返回目录 6 单选按钮 7 组合列表框/下拉列表 7 数码框(up-down)控件 8 搜索框填充域测试 8 复...
性能测试用例性能测试用例性能测试用例性能测试用例
测试用例的基本概念 测试用例的设计和编写 测试用例评估 测试用例的管理
酒店管理系统 测试用例主要对各子系统用例分析 即用例卡