隨筆-55  評論-208  文章-0  trackbacks-0
          記錄點滴經驗,匯聚知識汪洋

          1、單元測試時對測試目標的明確。
          最近對單元測試時明確測試目標有了新的想法,就是在對目標類進行測試時一定要明確目標類的作用究竟是什么。
          比如說對于一個5層結構的系統來說:數據庫,DAO,BL,control,JSP
          其中數據庫和JSP的單元測試代價是比較高的,所以不考慮測試。
          DAO的目標是從數據庫獲取數據,所以可以使用內存數據庫或者真實數據庫等方法直接進行測試,這點通常沒有爭議
          BL層的目標是對業務邏輯的封裝,這個層的測試通常是比較有爭議的,要明確它僅僅是調用DAO并進行業務封裝,所以只需要對它以來的DAO進行模擬,然后測試是否正確封裝就可以了。
          control層的目標是根據請求進行跳轉,所以這個層的測試方法是,模擬請求對象和BL,然后檢查是否正確的調用BL以及正確的跳轉。

          2、當不好倒轉依賴時進行依賴模擬的小技巧。
          情景環境:我的BL層在對DAO層的依賴關系上沒有使用比較靈活的依賴反轉方法(這個是歷史原因^_^),這時候就對我在測試時對DAO的模擬上造成了一定的困擾。
          解決辦法:但是所謂辦法總是能像出來的嗎,我把BL調用到DAO的地方封裝成一個統一的方法,然后在BL中定義一個Map,這個Map是可以從外部進行set的,然后在統一調用DAO的方法中判斷,如過map中有設置就獲取map的,如果map中沒有就獲取原來緊密耦合的DAO,這樣就可以在測試的時候從外部注入模擬的DAO了。
          posted on 2008-03-05 12:11 rocket 閱讀(921) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 潮安县| 图木舒克市| 涡阳县| 香港 | 句容市| 吉林省| 阳春市| 湄潭县| 五常市| 佛冈县| 那曲县| 修水县| 长岛县| 宜黄县| 丽水市| 蒲城县| 小金县| 万年县| 怀集县| 翁源县| 瑞安市| 信阳市| 周宁县| 同江市| 遵义市| 德保县| 宁德市| 蓝田县| 建瓯市| 丹凤县| 东阳市| 古丈县| 阿拉善右旗| 清镇市| 金塔县| 博罗县| 阆中市| 岐山县| 融水| 砚山县| 申扎县|