StrutsTestCase 简化开发过程
2010-03-19 00:00:00 来源:WEB开发网比如在这个例子中,方法会一直返回 true,除非用 disabledUser 作为输入参数调用它。现在只应当在单元测试阶段使用这个方法,而主程序 LoginActionForm 不应当知道这一点。针对这个需求,我创建了 STCRequestProcessor,它扩展了 RequestProcessor。它允许向 Action 和 ActionForm 类中插入模拟实现。
要使用 STCRequestProcessor,需要修改 struts-config.xml,如清单 7 所示:
清单 7. struts-config.xml 文件
<controller>
<set-property property="processorClass" value="com.sample.util.STCRequestProcessor"/>
</controller>
</code>
这一行指出 Struts 用 STCRequestProcessor.java 作为 RequestProcessor。不要忘记,在容器中部署应用程序部署时要删除这些行。
接下来是创建 LoginActionForm 的模拟类,如清单 8 所示:
清单 8. MockLoginActionForm.java 类
public class MockLoginActionForm extends LoginActionForm {
public boolean isUserDisabled(String userName) {
if (userName != null && userName.equals("disableduser"))
return true;
return false;
}
}
isUserDisabled() 方法检查用户名是否为 "disableduser"。如果是,则应当返回 true;否则应当返回 false。
接下来要 创建一个测试用例,对禁用用户进行测试,如清单 9 所示:
清单 9. testDisabledUser() 方法
public void testDisabledUser()throws Exception{
STCRequestProcessor.addMockActionForm("loginForm",
"com.sample.login.mock.MockLoginActionForm");
setRequestPathInfo("/login");
addRequestParameter("userName","disableduser");
addRequestParameter("password","wrongpassword");
actionPerform();
verifyInputForward();
String[] userDisabled ={"user.disabled"};
verifyActionErrors(userDisabled);
}
Tags:StrutsTestCase 简化 开发
编辑录入:爽爽 [复制链接] [打 印]- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››简化版的richedit控件
- ››开发者眼中的Windows Phone和Android
- ››简化多层的Tabs导航表现网站的信息结构给用户
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
更多精彩
赞助商链接