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

          關于mock

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

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

          Mock通常很少考慮復用,每個mock對象通過都是遵循"just enough"原則,一般只適用于當前測試方法。因此每個測試方法都必須實現(xiàn)自己的mock邏輯,當然在同一個測試類中還是可以有一些簡單的初始化邏輯可以復用。
          stub則通常比較方便復用,尤其是一些通用的stub,比如jdbc連接之類。spring框架就為此提供了大量的stub來方便測試,不過很遺憾的是,它的名字用錯了:spring-mock
          mock和stub的最重要的區(qū)別:expectiation/期望。 對于mock來說,expectiation是重中之重:我們期待方法有沒有被調(diào)用,期待適當?shù)膮?shù),期待調(diào)用的次數(shù),甚至期待多個mock之間的調(diào)用順序。所有的一切期待都是事先準備好,在測試過程中和測試結(jié)束后驗證是否和預期的一致。
          而對于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/
          主站蜘蛛池模板: 江津市| 台北县| 石台县| 凉城县| 抚松县| 类乌齐县| 靖远县| 沈丘县| 扬州市| 松溪县| 梓潼县| 若尔盖县| 西藏| 庆安县| 鹰潭市| 仙居县| 梨树县| 满洲里市| 嘉定区| 夏河县| 锡林浩特市| 大竹县| 德阳市| 绥滨县| 大同县| 石河子市| 轮台县| 什邡市| 乐安县| 南投县| 泗洪县| 鄯善县| 南安市| 佛坪县| 新田县| 松桃| 林西县| 潮安县| 施秉县| 大港区| 建昌县|