• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

追求代码质量: 测试 Struts 遗留的应用程序

发布: 2008-6-13 15:31 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 21次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术网R7R+aw0vSD4d1|)~

pHB#]Ky gh2]J 

[ _1I%N1uKl
其他测试方式
"wdg_s!@'WQ'PG` 软件测试技术网 nn[ SW-JE4[

在某些情况下,基于 Action 类中发现的对应逻辑,可能能够用基于 Web 的测试框架(像 JWebUnit 或 Selenium)间接地 测试代码。使用这些框架从测试设置的角度来说,确实增加了复杂性。例如,要使用 JWebUnit,必须把应用程序部署到一个运行着配置好的数据库的 servlet 容器。把 StrutsTestCase 和 DbUnit 协同使用,可以方便测试,不必 把 war 文件部署到运行着的 servlet 容器。它还允许在 考虑应用程序的视图方面的情况下进行测试。

Y)itNl)p I/MY
软件测试技术网*DRi {%y9HC

关于逻辑映射

(lp+sY:v&X'UQ"s

['`,B I"yP,S/cB正确地配置了 MockStrutsTestCase 的实例后,测试 Action 类就只包含一点点逻辑映射。要调用 Action 类,需要强制 StrutsTestCase 框架通过一个路径间接地 调用它,这是在 struts-config.xml 文件中定义的。软件测试技术网7X/v,Tt-v+g"Zo!n)`

az:ar$@,Q`例如,要强制调用 ChangePasswordAction 类,必须告诉框架使用 /changePasswordSubmit 路径。在清单 5 中可以看到这点,清单 5 中的代码片段来自 struts-config.xml 文件,它把 ChangePasswordAction 类映射到 /changePasswordSubmit 路径:

Q3?Sb W*kL 软件测试技术网1C3F3|2N IAO


8{ rK\}r清单 5. struts-config.xml 代码片段显示了动作类路径映射软件测试技术网D:r5oZ+NN#NY

%[P8W [6V+MI(kS 软件测试技术网5^8fJ/z4Nf.zb v~9o

<action path="/changePasswordSubmit" 
         type="com.acme.ccb.action.ChangePasswordAction" 
         name="changePasswordForm" scope="request" 
         input="/jsp/admin/changepassword.jsp">
    
  <forward name="success" path="/viewUsers.do" 
           redirect="true" contextRelative="false" />

</action>
软件测试技术网7_)k)rf9m?
软件测试技术网)n[ez4U

软件测试技术网D3@{v3n

一旦某个用户点击了提交按钮(举例),Struts 就把来自 HTTP 请求的参数值映射到 ActionForm,在这个示例中,是上面的 struts-config.xml 代码片段中(在清单 5 中)定义的 ChangePasswordForm。要模拟这个行为,在测试用例中必须有另一个逻辑映射 —— JSP 表单名称必须映射到值。在口令修改场景中,提交了四个参数:usernamecurrentPasswordnewPassword1newPassword2 newPassword2 参数是多数 Web 页面为了校验新口令正确的确认信息)。 软件测试技术网](M]w*O
软件测试技术网&a*l[ J1p*y m

e|%P jh#I成功的测试用例!

2J