StrutsTestCase 简化开发过程
2010-03-19 00:00:00 来源:WEB开发网在这个测试用例中,插入了 LoginAction 和 LoginActionForm 的模拟实现,避免数据库查询,接着要设置用户名和口令参数。在控制权从 actionPerform() 返回之后,就可以检查是否利用 "invalid.login" 这条出错信息把用户重定向到登录页面。
测试有效登录
现在是时候来验证在用户输入正确的用户名和口令时,是否用成功页面欢迎用户,如清单 12 所示:
清单 12. testLoginActionFormError
public void testValidLogin() 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","ibmpassword");
actionPerform();
verifyNoActionErrors();
verifyForward("success");
}
这一代码段首先在请求参数中把用户名设置为"ibmuser",并把口令设置为 "ibmpassword",然后调用 actionPerform()。在执行 actionPerform() 方法时,需要调用 verifyForward() 方法,检查用户是否被重定向到成功页面。它还调用了 verifyNoActionErrors() 方法,以验证在这个事务中没有出现 ActionErrors。
模拟的优势与不足
使用模拟方式有一些优势。这种方式比较快,因为不必为了每个更改而启动和停止容器。另一方面,因为没有使用真正的容器,所以可能无法验证监听器或过滤器带来的副作用。而且,因为没有执行 ActionForward JSP 组件,所以也无法发现 JSP 中的错误。
Tags:StrutsTestCase 简化 开发
编辑录入:爽爽 [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››简化版的richedit控件
- ››开发者眼中的Windows Phone和Android
- ››简化多层的Tabs导航表现网站的信息结构给用户
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
更多精彩
赞助商链接