快速业务通道

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

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

StrutsTestCase简化开发过程(8)

时间:2011-04-26 IBM Sunil Patil

模拟的优势与不足

使用模拟方式有一些优势。这种方式比较快,因为不必为了每个更改而启动和停止容器。 另一方面,因为没有使用真正的容器,所以可能无法验证监听器或过滤器带来的副作用。而 且,因为没有执行 ActionForward JSP 组件,所以也无法发现 JSP 中的错误。

Cactus 方式

Cactus(容器内)是集成测试阶段的一种流行测试方法。

Cactus 方式的设置

要设置 Cactus,需要将 cactus.1.6.1.jar 和 aspectjrt1.1.1.jar 复制到 classpath 中。

Cactus 需要在 Web 应用程序中配置两个 servlet,所以必须在 web.xml 文件中声明它 们,如清单 13 所示:

清单 13. web.xml

<servlet>     <servlet-name<ServletTestRedirector</servlet-name>     <display-name<ServletTestRedirector</display-name> <servlet-class<org.apache.cactus.server.ServletTestRedirector</servlet- class> </servlet> <servlet>     <servlet-name<ServletTestRunner</servlet-name>     <display-name<ServletTestRunner</display-name> <servlet- class<org.apache.cactus.server.runner.ServletTestRunner</servlet- class> </servlet> <servlet-mapping>     <servlet-name<ServletTestRedirector</servlet-name>     <url-pattern</ServletRedirector</url-pattern> </servlet-mapping> <servlet-mapping>     <servlet-name<ServletTestRunner</servlet-name>     <url-pattern</ServletTestRunner</url-pattern> </servlet-mapping>

接下来要创建 cactus.properties 文件,并把它放在 classpath 中,如下所示:

cactus.contextURL = http://localhost:9080/sample1 cactus.servletRedirectorName = ServletRedirector

本文使用 WebSphere Studio 内置的测试环境来运行测试用例,所以可以从 http://localhost:9080/sample1 访问示例应用程序。请确保把这个路径修改成指向 Web 应 用程序实际部署位置的路径。

接下来要创建一个类,扩展 CactusStrutsTestC

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号