MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          關于mock

          Posted on 2010-02-14 21:20 leekiang 閱讀(310) 評論(0)  編輯  收藏 所屬分類: 測試

          至于easymock之外的選擇,我個人比較喜歡和推崇jmockit,mocito雖然也不錯不過有了jmockit我就pass掉mockito了。
          只是每次看到項目代碼中,用easymock有record,replay卻不調用verify時,就覺得郁悶。這樣的testcase,就算通過了,又能說明什么?

          Mock通常很少考慮復用,每個mock對象通過都是遵循"just enough"原則,一般只適用于當前測試方法。因此每個測試方法都必須實現自己的mock邏輯,當然在同一個測試類中還是可以有一些簡單的初始化邏輯可以復用。
          stub則通常比較方便復用,尤其是一些通用的stub,比如jdbc連接之類。spring框架就為此提供了大量的stub來方便測試,不過很遺憾的是,它的名字用錯了:spring-mock
          mock和stub的最重要的區別:expectiation/期望。 對于mock來說,expectiation是重中之重:我們期待方法有沒有被調用,期待適當的參數,期待調用的次數,甚至期待多個mock之間的調用順序。所有的一切期待都是事先準備好,在測試過程中和測試結束后驗證是否和預期的一致。
          而對于stub,通常都不會關注expectiation


          easymock教程-mock和stub
          http://www.javaeye.com/topic/21630
          單元測試框架JMock與Mockito的用法比較
          http://javasee.iteye.com/blog/1000868
          http://hyjun.iteye.com/blog/337206
          單元測試mock:用JMockit寫單元測試實例
          http://gojko.net/2009/10/23/mockito-in-six-easy-examples/
          主站蜘蛛池模板: 安龙县| 蓬安县| 通州区| 临夏县| 神池县| 庆城县| 嘉黎县| 镇赉县| 九龙县| 宝鸡市| 吉林市| 南乐县| 同德县| 奇台县| 锦屏县| 都兰县| 石嘴山市| 塘沽区| 平泉县| 苏州市| 长治县| 新营市| 商洛市| 西充县| 巩义市| 扎赉特旗| 克什克腾旗| 墨竹工卡县| 资阳市| 高要市| 抚松县| 若尔盖县| 永州市| 桐庐县| 罗江县| 巴楚县| 静安区| 诸暨市| 大丰市| 黎川县| 星子县|