領測軟件測試網
%W7~oM
P$Ec
軟件測試技術網.Ja6p$Ao@5A
:t0]tsP2U(]g軟件測試技術網:i!ID}d}s
圖 1. Action 類的輸出耦合
4|Wa*g!Ol
t%xt3sm
5S4Mq/zK:x?
(h_A5zK2]n4X但是,就像在圖 1 中可以看到的,在試圖隔離 ChangePasswordAction
類并檢驗 execute()
方法時,該類給出了一些有代表性的挑戰。為了有效地測試 execute()
方法,必須處理三層耦合。首先,到 Struts 自身的耦合;其次,Servlet API 代表一個障礙;最后,到業務對象包的耦合,進一步檢查業務對象包,還會有數據訪問層使用 Hibernate 和 Spring。
Z0x
gt2E:a
 |
每種情況一個 mock?軟件測試技術網0zA Fe
K
x^%N n aeHV
c即使在我編寫本文時,我還可以聽到開發人員的嘲笑者 認為我的測試問題通過明智地使用 mock 對象就能輕易解決。可以 用 mock 對象創建一級隔離,它會形成更容易的測試;但是,我要說的是,把目標對象通過 mock 排除所需要的付出級別,比起承認隔離測試困難所需要的付出,要多得多。在這種情況下,我會采用在更高層次上的測試,這級測試有時叫做集成測試。 ;FzI@ PZ9_:d | |
軟件測試技術網
H.nnV3dDYl對于更高的復雜性,請注意 清單 1中的代碼如何把 aForm
參數轉換成 ChangePasswordForm
對象,它是 Struts ActionForm
類型。這些 JavaBeans 有一個 validate
方法,這個方法由 Struts 在調用 Action
類的 execute()
方法之前調用。
b
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月