追求代码质量 - 测试Struts遗留的应用程序 - 编程入门网
序。这个框 架实际上模拟了一个 servlet 容器,这样就能虚拟地运行和测试 Struts 应用 程序,而不必在 Tomcat(举例)中运行它了。框架还有一个方便的 MockStrutsTestCase 类,它扩展了 TestCase 并处理许多 Struts 配置方面( 例如装入 struts-config.xml 配置文件)。
但是,在您认为自己完全脱离了 Struts 配置的痛苦之前,应当了解一些正 确配置 MockStrutsTestCase 的事情。也就是说,需要把它指向代表 Web 应用 程序的目录,然后指向必要的 web.xml 和 struts-config.xml 文件。默认情况 下,MockStrutsTestCase 扫描这些项目的类路径;但是,要把 MockStrutsTestCase 配置成在特定环境中工作,操作很简单,只需覆盖一些设 置并编写一些特定的配置代码即可。 返回口令验证示例,包含 ChangePasswordAction 类的项目有图 3 所示的目 录结构: 清单 3. 示例目录结构
追求代码质量 - 测试Struts遗留的应用程序(3)时间:2010-12-12 IBM Andrew GloverWEB-INF 目录包含 web.xml 和 struts-config.xml 文件,webapp 目录代表 Web 上下文环境。知道了这些,我就如清单 4 所示配置 MockStrutsTestCase: 清单 4. MockStrutsTestCase 的定制 fixture 代码
其他测试方式 在某些情况下,基于 Action 类中发现的对应逻辑,可能能够用基于 Web 的 测试框架(像 JWebUnit 或 Selenium)间接地 测试代码。使用这些框架从测试 设置的角度来说,确实增加了复杂性。例如,要使用 JWebUnit,必须把应用程 序部署到一个运行着配置好的数据库的 servlet 容器。把 StrutsTestCase 和 DbUnit 协同使用,可以方便测试,不必 把 war 文件部署到运行着的 servlet 容器。它还允许在不 考虑应用程序的视图方面的情况下进行测试。 关于逻辑映射 正确地配置了 MockStrutsTestCase 的实例后,测试 Action 类就只包含一 点点逻辑映射。要调用 Action 类,需要强制 StrutsTestCase 框架通过一个路 径间接地 调用它,这是在 struts-config.xml 文件中定义的。 例如,要强制调用 ChangePasswordAction 类,必须告诉框架使用 /changePasswordSubmit 路径。在清单 5 中可以看到这点,清单 5 中的代码片 段来自 struts-config.xml 文件,它把 ChangePasswordAction 类映射到 /changePasswordSubmit 路径: 清单 5. struts-config.xml 代码片段显示了动作类路径映射
一旦某个用户点击了提交按钮(举例),Struts 就把来自 HTTP 请求的参数 值映射到 ActionForm,在这个示例中,是上面的 struts-config.xml 代码片段 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |