jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
                  在測試中,經常涉及到對依賴代碼的處理,這將涉及到系統的結構的設計。一個好的設計,必然是容易測試的。代碼之間的依賴被極大的隔離開來,很容易的進行測試。如何對對其他層具有依賴的代碼代碼進行測試呢?可以有兩種方法:引入stub和引入mock。那么這兩者之間的區別是什么呢?
              
                  在理解其區別之前,需要明白一點,他們都是為了同一個目標而出現的,代替依賴部分,讓原先的“整合測試”簡化為“單元測試”。       

          mock:使用easymock等包,在程序代碼中向被測試代碼注入“依賴部分”,通過代碼可編程的方式模擬出函數調用返回的結果。

          stub:自己寫代碼代替“依賴部分”。它本身就是“依賴部分”的一個簡化實現。

               實際上,在能夠使用mock的時候,就不應該選擇使用stub。但是有時候是必須使用stub的,例如在對遺留代碼進行測試時,該部分代碼不支持“注入”,那么只能將“替代”這個過程外移,使用stub完成此任務了。
          posted on 2005-04-25 16:41 jinfeng_wang 閱讀(1325) 評論(0)  編輯  收藏 所屬分類: Junit
          主站蜘蛛池模板: 伊通| 通州市| 白河县| 吉安市| 敦煌市| 天等县| 米易县| 延津县| 嵊州市| 阳高县| 阿克| 姚安县| 缙云县| 石狮市| 沙湾县| 尤溪县| 阿克陶县| 崇阳县| 手机| 凤阳县| 佛冈县| 深州市| 邹城市| 曲麻莱县| 扎鲁特旗| 铜川市| 涿州市| 安陆市| 镇雄县| 西畴县| 比如县| 天气| 牡丹江市| 夏津县| 苍南县| 南陵县| 扎鲁特旗| 藁城市| 蓝田县| 玉环县| 黄大仙区|