在企图为 清单 1(间接的是 清单 2)的代码编写测试之前,可能想确定实际需要测试什么。在这个具体示例中,逻辑清楚地是为了方便用户口令的修改;所以,应当编写至少两个层次的测试用例:
- 口令修改在数据正确时是否工作?
- 如果数据不正确,口令是不是不 修改?
StrutsTestCase 是一个 JUnit 扩展,专门针对 Struts 应用程序。这个框架实际上模拟了一个 servlet 容器,这样就能虚拟地运行和测试 Struts 应用程序,而不必在 Tomcat(举例)中运行它了。框架还有一个方便的 MockStrutsTestCase
类,它扩展了 TestCase
并处理许多 Struts 配置方面(例如装入 struts-config.xml 配置文件)。
MockStrutsTestCase
的事情。也就是说,需要把它指向代表 Web 应用程序的目录,然后指向必要的 web.xml 和 struts-config.xml 文件。默认情况下,MockStrutsTestCase
扫描这些项目的类路径;但是,要把 MockStrutsTestCase
配置成在特定环境中工作,操作很简单,只需覆盖一些设置并编写一些特定的配置代码即可。
返回口令验证示例,包含 ChangePasswordAction
类的项目有图 3 所示的目录结构: