字号: 小 中 大 |
推荐给好友
上一篇 |
下一篇
追求代码质量: 测试 Struts 遗留的应用程序
发布: 2008-6-20 14:19 |
作者: 不详 |
来源:
领测软件测试网编辑整理 |
查看: 36次 | 进入软件测试论坛讨论
领测软件测试网
软件测试技术门户!NkUp]rd S
Zq2@%YU软件测试技术门户g4MLQ M(I"[
清单 1. 这个方法看起来容易测试……软件测试技术门户#v!C\nu7sq*TG
OeT!YKX#|6A3x
public ActionForward execute(ActionMapping mapping, ActionForm aForm,
HttpServletRequest req, HttpServletResponse res) throws Exception {
try{
String newPassword = ((ChangePasswordForm)aForm).getNewPassword1();
String username = ((ChangePasswordForm)aForm).getUsername();
IUser user = DataAccessUtils.getDaos().getUserDao().findUserByUsername(username);
user.digestAndSetPassword(newPassword);
DataAccessUtils.getDaos().getUserDao().saveUser(user);
}catch(Throwable thr){
return findFailure(mapping, aForm, req, res);
}
return findSuccess(mapping, aForm, req, res);
}
|
软件测试技术门户+M-q1L/V%u图 1. Action 类的输出耦合5n/}i0p@Z"} C
h7gC#s(V
(P2@ov-Np但是,就像在图 1 中可以看到的,在试图隔离 ChangePasswordAction
类并检验 execute()
方法时,该类给出了一些有代表性的挑战。为了有效地测试 execute()
方法,必须处理三层耦合。首先,到 Struts 自身的耦合;其次,Servlet API 代表一个障碍;最后,到业务对象包的耦合,进一步检查业务对象包,还会有数据访问层使用 Hibernate 和 Spring。
hz5w\8o@#t