摘要: 我們應該如何以及在哪里使用Mock對象呢?一般來說,對于目標對象中的合作者對象,在測試時如果其狀態或行為的實現嚴重地依賴外部資源(比如數據持久化中的DAO,比如負責發送電子郵件的類),或者團隊并行開發時,目標對象的合作者對象并沒有實現(比如J2EE中,橫向分工時,負責Action的調用Service,負責Service調用DAO時,相應的Service及DAO沒有實現),這時我們就需要模仿這些類。其實,在做J2EE時,傳統的N層架構中,我們都是面向接口編程的,我們定義了DAO接口,我們定義了Service接口,這樣做的優點就是我們在測試時可以構造實現接口的Mock類。這里不得不提依賴注入,通過依賴注入,我們才能在測試時set Mock對象。這也說明,為了方便測試,我們不得不一步一步重構代碼,而模式就在重構中自然地產生了。
閱讀全文
閱讀全文