字號: 小 中 大 |
推薦給好友
上一篇 |
下一篇
追求代碼質量: 測試 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