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 閱讀(480) 評論(0)  編輯  收藏 所屬分類: JavaTesting Related

          導航

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

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天水市| 靖州| 贵港市| 金川县| 银川市| 曲水县| 阿图什市| 南京市| 平罗县| 河北省| 仙桃市| 合山市| 齐河县| 吉木萨尔县| 清丰县| 佛冈县| 乌鲁木齐市| 周口市| 开封县| 卢氏县| 肥东县| 尚志市| 喀喇沁旗| 镇江市| 阜康市| 安康市| 招远市| 德惠市| 江川县| 宿州市| 中超| 稻城县| 土默特左旗| 桑日县| 交口县| 项城市| 赤水市| 鄯善县| 吕梁市| 洪洞县| 马鞍山市|