追求代码质量: 测试 Struts 遗留的应用程序
2009-11-19 00:00:00 来源:WEB开发网来自 StrutsTestCase 的帮助
StrutsTestCase 是一个 JUnit 扩展,专门针对 Struts 应用程序。这个框架实际上模拟了一个 servlet 容器,这样就能虚拟地运行和测试 Struts 应用程序,而不必在 Tomcat(举例)中运行它了。框架还有一个方便的 MockStrutsTestCase 类,它扩展了 TestCase 并处理许多 Struts 配置方面(例如装入 struts-config.xml 配置文件)。
但是,在您认为自己完全脱离了 Struts 配置的痛苦之前,应当了解一些正确配置 MockStrutsTestCase 的事情。也就是说,需要把它指向代表 Web 应用程序的目录,然后指向必要的 web.xml 和 struts-config.xml 文件。默认情况下,MockStrutsTestCase 扫描这些项目的类路径;但是,要把 MockStrutsTestCase 配置成在特定环境中工作,操作很简单,只需覆盖一些设置并编写一些特定的配置代码即可。
返回口令验证示例,包含 ChangePasswordAction 类的项目有图 3 所示的目录结构:
清单 3. 示例目录结构root/
src/
conf/
java/
webapp/
images/
jsp/
WEB-INF/
test/
WEB-INF 目录包含 web.xml 和 struts-config.xml 文件,webapp 目录代表 Web 上下文环境。知道了这些,我就如清单 4 所示配置 MockStrutsTestCase:
清单 4. MockStrutsTestCase 的定制 fixture 代码public void setUp() throws Exception {
try {
super.setUp();
this.setContextDirectory(new File("src/webapp/"));
this.setServletConfigFile("src/webapp/WEB-INF/web.xml");
this.setConfigFile(
this.getSession().getServletContext()
.getRealPath("WEB-INF/struts-config.xml"));
}catch (Exception e) {
fail("Unable to setup test");
}
}
其他测试方式
更多精彩
赞助商链接