書山有路勤為徑,學海無涯苦作舟
創建組件所依賴的外部組件的模擬實現。創建一個方面,應用模擬組件實現來代替真實的組件。單元測試完成時,使用單獨的AspectJ構建配置文件裝換出測試文件,使得可以再次使用真實的實現。
以下為一種典型情況,MyComponent是要測試的組件,并且它具有與ThirdPartyComponentInterface的外部實現的依賴性。ThirdPartyComponentInterface的真實實現是通過調用工廠方法ThirdPartyFactory.getThirdPartyComponent()來獲得的。
為了孤立地對MyComponent運行單元測試,將需要通過在測試中包括真實的外部組件,重寫ThirdPartyComponent實現,從而不會混淆測試結果。一種策略是:手動應用重寫真實組件實現的模擬組件。如:
以上方法如果用在組件較多的接口,可能難以管理。使用面向方面的替代方法,可以創建一個方面,用于截獲ThirdPartyComponent的創建,并用模擬對象實現重寫返回的對象。
可以通過創建兩個不同的AspectJ構建配置文件,來區分真實實現和模擬實現。
posted on 2008-08-29 11:18 Brian 閱讀(339) 評論(0) 編輯 收藏 所屬分類: 《AspectJ Cookbook》讀書筆記