cerulean

          試驗JMock

          “jMock利用mock objects思想來對Java code進行測試。jMock具有以下特點:容易擴展,讓你快速簡單地定義mock objects,因此不必打破程序間的關聯,你定義靈活的超越對象之間交互作用而帶來測試局限,減少你測試地脆弱性。”

          ??? 跟JMock功能類似的還有EasyMock。
          ??? 簡單試驗后的感覺沒有試驗DBUnit后的感覺強烈,試了DBUnit的感覺是這東西以后一定要用.
          ??? 但個人認為mock object這種東西能不用就不用,模擬來模擬去,最后還是要和真東西聯調,所以mock的階段應該是盡可能的短才是.

          使用模仿對象進行測試的常用編碼樣式是:
          · 創建模仿對象的實例
          · 設置模仿對象中的狀態和期望值
          · 將模仿對象作為參數來調用域代碼
          · 驗證模仿對象中的一致性

          代碼中的大概過程:
          ???? Mock mock = new Mock(**.class);//構造一個那個類的mock對象,把這個類傳入Mock
          ???? 使用mock.expects方法,來設置想要執行的操作:執行幾次、執行哪個方法、傳什么參、返回什么值
          ?????獲得那個mock對象:** x = (**)mock.proxy();//proxy方法返回代理類實例,即虛擬對象實例
          ???? 然后run **.class的那個方法(call methods on the mock object, expectation on it will deliver the result set up by yourself)

          ???? 寫mock-object 測試,需要有獨立的接口作為mock的對象(從而促進了針對接口編程的習慣),還有個好的副作用:他迫使你來重寫一些代碼。實際上,代碼常常寫的不好。你讓類和環境之間產生了不必要的耦合。

          posted on 2007-03-20 21:05 cerulean 閱讀(481) 評論(0)  編輯  收藏 所屬分類: JavaTesting Related

          導航

          <2007年3月>
          25262728123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 江西省| 望奎县| 宁明县| 永宁县| 台湾省| 六枝特区| 克什克腾旗| 肥乡县| 潼南县| 上虞市| 兴业县| 中阳县| 潮州市| 手机| 龙井市| 舞阳县| 得荣县| 西吉县| 达日县| 天峻县| 筠连县| 红桥区| 大兴区| 彰化市| 内丘县| 东源县| 马龙县| 西充县| 民县| 延寿县| 沙雅县| 九龙坡区| 嘉善县| 舟曲县| 龙口市| 类乌齐县| 黎川县| 龙山县| 舒兰市| 鹿邑县| 牟定县|