WEB开发网
开发学院软件开发Java StrutsTestCase 简化开发过程 阅读

StrutsTestCase 简化开发过程

 2010-03-19 00:00:00 来源:WEB开发网   
核心提示: STCRequestProcessor.addMockActionForm() 方法把 MockLoginActionForm 作为 LoginActionForm 的模拟实现插进来,addRequestParameter() 方法设置用户名和口令这两个请求参数,StrutsTestCase 简

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

上一页  3 4 5 6 7 8 9 10  下一页

Tags:StrutsTestCase 简化 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接