Sky's blog

          我和我追逐的夢

          常用鏈接

          統(tǒng)計

          其他鏈接

          友情鏈接

          最新評論

          11 2010 檔案

          easymock教程-自定義參數(shù)匹配器
               摘要: 雖然easymock中提供了大量的方法來進行參數(shù)匹配,但是對于一些特殊場合比如參數(shù)是復雜對象而又不能簡單的通過equals()方法來比較,這些現(xiàn)有的參數(shù)匹配器就無能為力了。easymock為此提供了IArgumentMatcher 接口來讓我們實現(xiàn)自定義的參數(shù)匹配器。  閱讀全文

          posted @ 2010-11-30 18:18 sky ao 閱讀(3163) | 評論 (0)  編輯

          easymock教程-改變同一個方法調用的行為
               摘要: 在easymock中,對于mock對象的同一個方法,可以為每一次的調用定制不同的行為。在record階段easymock會精確的記錄我們錄入的行為,基于每一次的方法調用。  閱讀全文

          posted @ 2010-11-30 17:06 sky ao 閱讀(2551) | 評論 (0)  編輯

          easymock教程-運行時返回值或者異常
               摘要: 前面的教程中,我們看到easymock可以通過expect方法來設定mock方法的返回值或者異常,但是注意這些案例中設置的返回值都是在調用被測試的類的方法前就已經(jīng)確定下來的,即我們其實在測試類的代碼運行前(實際是在EasyMock.replay()方法調用前)就已經(jīng)"預知"了返回結果。

          但是在某些情況下,我們可能無法預知返回值,比如我們需要根據(jù)輸入的參數(shù)值來決定返回什么,而這個參數(shù)可能無法在record階段獲得。因此在mock方法中我們無法在record階段就決定應該返回什么。

          對于這種場景,easymock提供了IAnswer接口和andAnswer()方法來提供運行時決定返回值或者異常的機制。  閱讀全文

          posted @ 2010-11-30 16:36 sky ao 閱讀(3622) | 評論 (0)  編輯

          easymock教程-partial class mocking
               摘要: easymock中提供對于類的mock功能,我們可以方便的mock這個類的某些方法,指定預期的行為以便測試這個類的調用者。這種場景下被mock的類在測試案例中扮演的是次要測試對象或者說依賴的角色,主要測試對象是這個mock類的調用者。但是有時候我們需要將這個測試類作為主要測試對象,我們希望這個類中的部分(通常是大部分)方法保持原有的正常行為,只有個別方法被我們mock掉以便測試。  閱讀全文

          posted @ 2010-11-30 14:23 sky ao 閱讀(3124) | 評論 (0)  編輯

          easymock教程-參數(shù)匹配
               摘要: easymock中提供了非常多的方法來實現(xiàn)參數(shù)匹配,基本能滿足一般參數(shù)匹配的要求。  閱讀全文

          posted @ 2010-11-29 18:57 sky ao 閱讀(4939) | 評論 (2)  編輯

          easymock教程-命名mock對象
               摘要: 在創(chuàng)建mock對象的時候,我們可以命名mock對象。
          命名mock對象有什么好處呢?其實就是一點,即在當測試案例因為某個mock對象的狀態(tài)或行為不符合要求而失敗的時候,在異常信息里面可以輸出這個mock對象的名稱。  閱讀全文

          posted @ 2010-11-29 16:34 sky ao 閱讀(2501) | 評論 (1)  編輯

          easymock教程-放寬調用次數(shù)
               摘要: 對于mock對象上的mock方法的調用,easymock支持指定次數(shù),默認為1.同時easymock提供了其他的方法,用于指定具體調用次數(shù)或者放寬調用次數(shù)檢驗。  閱讀全文

          posted @ 2010-11-29 15:55 sky ao 閱讀(1806) | 評論 (0)  編輯

          easymock教程-mock的限制
               摘要: easymock并不是萬能的,在使用easymock時有一些限制需要注意。  閱讀全文

          posted @ 2010-11-25 11:12 sky ao 閱讀(3314) | 評論 (0)  編輯

          easymock教程-創(chuàng)建stub對象
               摘要:
          前面教程中有個章節(jié)討論到mock和stub的概念差別,一般來說easymock如其名所示,主要是用來做mock用的,但是easymock中也提供有對stub的支持, 主要體現(xiàn)在andStubAnswer(),andStubDelegateTo(),andStubReturn(),andStubThrow()和asStub()等方法的使用上。  閱讀全文

          posted @ 2010-11-23 17:51 sky ao 閱讀(2144) | 評論 (0)  編輯

          sonar 與 NOSONAR

          posted @ 2010-11-22 11:04 sky ao 閱讀(3921) | 評論 (2)  編輯

          easymock教程-strict和nice
               摘要: 在easymock的使用過程中,當創(chuàng)建mock對象時,我們會遇到 strict mock和nice mock的概念。上述的測試案例驗證了strict mock和nice mock的基本使用,對于同一個mock對象,strict模式下多個方法之間的調用順序在record階段和replay階段下是需要保持一致的。但是故事并不是到此結束,更有意思的內容在后面:如果出現(xiàn)多個mock對象,那么這些不同mock對象的方法之間,他們的調用順序是否檢測?普通mock和nice mock模式下自然是不會檢測順序,但是strict模式下呢?

            閱讀全文

          posted @ 2010-11-19 11:39 sky ao 閱讀(2627) | 評論 (0)  編輯

          主站蜘蛛池模板: 乾安县| 鄂尔多斯市| 遂昌县| 嘉峪关市| 霍州市| 临湘市| 永定县| 澳门| 金湖县| 桃园市| 毕节市| 合作市| 阳城县| 朝阳市| 六安市| 无为县| 都昌县| 汽车| 阿勒泰市| 东光县| 合阳县| 泸西县| 平和县| 陵水| 易门县| 永城市| 新竹市| 荣昌县| 双城市| 高陵县| 内江市| 彰化县| 巴彦县| 临夏市| 鄱阳县| 天门市| 新龙县| 中阳县| 祁门县| 韶山市| 雷州市|