快速业务通道

StrutsTestCase简化开发过程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
& 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); }

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;     } }

StrutsTestCase简化开发过程(7)

时间:2011-04-26 IBM Sunil Patil

如果用户名是 "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(); }

在这个测试用例中,插入了 LoginAction 和 LoginActionForm 的模拟实现,避免数据库 查询,接着要设置用户名和口令参数。在控制权从 actionPerform() 返回之后,就可以检查 是否利用 "

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号