<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統計

    其他鏈接

    友情鏈接

    最新評論

    easymock教程-使用MockControl

         在easymock中,通常我們使用一下的代碼來創建mock對象

        IMyInterface mock = createStrictMock(IMyInterface.class);
        replay(mock);
        verify(mock); 
        reset(mock);

        如果需要mock多個對象,則需要如此:

        IMyInterface1 mock1 = createStrictMock(IMyInterface1.class);
        IMyInterface2 mock2 
    = createStrictMock(IMyInterface2.class);
        IMyInterface3 mock3 
    = createStrictMock(IMyInterface2.class);
        ...
        replay(mock1, mock2, mock3, ...);
        verify(mock1, mock2, mock3, ...); 
        reset(mock1, mock2, mock3, ...);

        不僅需要為每個mock對象增加create語句,而且需要為這個新增的mock對象更新replay()/verify()/reset()方法,比較啰嗦,而且容易出錯。

        這種情況下可以考慮使用MocksControl來簡化代碼:

        IMocksControl mocksControl = createControl();
        IMyInterface1 mock1 
    = mocksControl.createMock(IMyInterface1.class);
        IMyInterface2 mock2 
    = mocksControl.createMock(IMyInterface2.class);
        IMyInterface3 mock3 
    = mocksControl.createMock(IMyInterface3.class);
        ...
        mocksControl.replay();
        mocksControl.verify(); 
        mocksControl.reset();


        IMocksControl接口容許創建多個mock對象,這些創建的對象自動關聯到這個mocksControl實例上,以后再調用replay()/verify()/reset()時就不需要逐個列舉出每個mock對象。當mock對象比較多,尤其是原有代碼上新增mock 對象時非常方便。

        事實上,Easymock.createMock()方法內部實現也是使用IMocksControl的:

        public static <T> T createMock(final Class<T> toMock) {
            
    return createControl().createMock(toMock);
        }


        
    public static IMocksControl createControl() {
            
    return new MocksControl(MocksControl.MockType.DEFAULT);
        }

         除了使用方便外,使用IMocksControl還有另外一個重要的好處,就是如果使用strict control,則可以跨多個mock對象檢測方法的調用順序,具體的內容請參考本教程中的"strict和nice"一文。

    posted on 2010-10-26 17:18 sky ao 閱讀(2616) 評論(0)  編輯  收藏 所屬分類: software test

    主站蜘蛛池模板: 亚洲中文无码永久免费| 99爱视频99爱在线观看免费| 日本一区二区三区免费高清| 内射少妇36P亚洲区| 日韩成人免费视频| 久久综合九九亚洲一区| 99精品免费视频| 亚洲av色福利天堂| 久久99青青精品免费观看| 亚洲国产综合专区在线电影 | 精品久久久久亚洲| 国产一级淫片免费播放电影| 国产av无码专区亚洲av毛片搜| 免费高清小黄站在线观看| 国产亚洲精品AAAA片APP| 免费中文字幕不卡视频| 国产无遮挡色视频免费观看性色 | 久久精品国产精品亚洲下载| 成人av片无码免费天天看| 亚洲AV乱码久久精品蜜桃| 永久免费在线观看视频| 亚洲性色AV日韩在线观看| 免费观看国产小粉嫩喷水| GOGOGO高清免费看韩国| 91大神亚洲影视在线| 一个人免费观看在线视频www| 亚洲AV无码片一区二区三区| 亚洲国产一区二区三区| a级毛片免费完整视频| 亚洲成a人不卡在线观看| 男女交性永久免费视频播放| 亚洲精品中文字幕| 亚洲欧洲中文日韩久久AV乱码 | 亚洲av午夜国产精品无码中文字| 四虎免费久久影院| 免费黄色电影在线观看| 久久综合久久综合亚洲| 亚洲中文字幕视频国产| 亚洲免费一级视频| 免费国产在线精品一区| 亚洲国产精品久久久久婷婷软件 |