StrutsTestCase 简化开发过程
2010-03-19 00:00:00 来源:WEB开发网STCRequestProcessor.addMockActionForm() 方法把 MockLoginActionForm 作为 LoginActionForm 的模拟实现插进来。addRequestParameter() 方法设置用户名和口令这两个请求参数。一旦控制权从 actionPerform() 返回,就可以调用 verifyActionErrors() 验证是否利用 user.disabled 出错信息将用户重定向到输出页面。
测试无效登录
测试用例要测试 LoginAction 类的 execute() 方法内部的业务逻辑。execute() 方法调用同一个类的 isValidUser() 方法,该方法接下来会查询 USER 表,查看用户名和口令组合是否有效。现在,因为我们不想在测试阶段查询真正的数据库,所以要创建一个 LoginAction 类的模拟子类,重写 isValidUser() 方法,如清单 10 所示:
清单 10. MockLoginAction.java 类
public class MockLoginAction extends LoginAction {
public boolean isValidUser(String userName, String password) {
if( userName.equals("ibmuser") && password.equals("ibmpassword"))
return true;
return false;
}
}
如果用户名是 "ibmuser",口令是 "ibmpassword",则 MockLoginAction 类的 isValidUser() 方法将返回 true。调用 STCRequestProcessor.addMockAction() 方法把 MockLoginAction 插入 LoginAction,如清单 11 所示:
清单 11. testInvalidLogin() 方法
public void testInvalidLogin()throws Exception{
STCRequestProcessor.addMockActionForm("loginForm",
"com.sample.login.mock.MockLoginActionForm");
STCRequestProcessor.addMockAction("com.sample.login.LoginAction",
"com.sample.login.mock.MockLoginAction");
setRequestPathInfo("/login");
addRequestParameter("userName","ibmuser");
addRequestParameter("password","wrongpassword");
actionPerform();
String[] invalidLogin ={"invalid.login"};
verifyActionErrors(invalidLogin);
verifyInputForward();
}
Tags:StrutsTestCase 简化 开发
编辑录入:爽爽 [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››简化版的richedit控件
- ››开发者眼中的Windows Phone和Android
- ››简化多层的Tabs导航表现网站的信息结构给用户
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
更多精彩
赞助商链接