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

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

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

    Sky's blog

    我和我追逐的夢

    常用鏈接

    統計

    其他鏈接

    友情鏈接

    最新評論

    推薦升級easymock到新的3.0版本

        一直在使用easymock作為mock工具,但是easymock有一個一直令我極其惱火的地方:easymock將interface和class的mock區分開,給出了針對interface mock的easyMock和針對class mock的easyMock class extension。兩種mock被嚴格區分開,連jar包都是兩個,使用時不能混用,比如不能用easymock (非class extension)來mock class。

        這也就算了,最要命的地方是,easyMock和easyMock class extension在使用時,class名是相同的,只是package不同。這會導致一個非常令人抓狂的問題:如果在同一個測試類中,需要同時使用interface mock和class mock,就必須同時使用org.easymock.EasyMock和org.easymock.classextension.EasyMock,由于java import只能import一個,因此另外一個就必須使用全限定名,如:

    import org.easymock.EasyMock;
    ...
        Easymock.createMock(...);
        org.easymock.classextension.EasyMock.createMock(...);

        編碼的時候稍有不慎就搞錯,代碼難寫而且難看。很明顯,這是一個沒有必要的設計,因為使用者通常并不關心mock的是interface還是class。

        近日得知easymock已經發布了新的3.0版本,該版本的主要改進就是消除上述的問題,新版本中可以直接mock class,不再強制使用easyMock class extension。

        以下是easymock官網 http://easymock.org/ 的發布信息:

    010-05-08: EasyMock 3.0 is available. Perform class mocking directly. EasyMock 1 classes removed.
    2010-05-08: EasyMock 3.0 Class Extension is available. Now deprecated. Only a proxy over EasyMock to provide backward compatibility.

        可以看到為了兼容2.*版本的就有代碼,3.0之中還是發布了Class Extension版本,作為舊有的2.*代碼和新的3.0之間的代理。不過明確標記為"deprecated"了。

        試用了一下,新的3.0版本中,直接使用org.easymock.EasyMock,可以在同一個case中同時混合mock interface和class,使用方式和以往相同。恩,明顯感覺使用方便了許多。

        順便做了一下兼容性測試,針對舊有的使用2.*版本的class mock的測試案例,嘗試使用兩種方法:

        1. 不修改原有代碼,使用3.0的class extension來保持兼容
    代碼編譯通過,測試案例正常運行。
    這個方案適合項目較大時先整體升級,保證測試案例可以運行,后續再逐步轉移到3.0版本。

        2. 修改原有代碼,不再使用class extension
    代碼只需一個改動,即將原有的org.easymock.classextension.EasyMock 修改為org.easymock.EasyMock,通常只要簡單修訂import即可。eclipse下簡單ctrl + shift + o 一招即可搞定。

        兩個方法組合使用,就可以平穩的將原有的2.*的測試案例轉移到新的3.0版本中。

        強烈推薦還在使用easymock 2.*的朋友們升級到3.0版本。

    posted on 2010-06-26 20:33 sky ao 閱讀(2219) 評論(1)  編輯  收藏 所屬分類: software test

    評論

    # re: 推薦升級easymock到新的3.0版本 2010-06-26 20:41 18傲骨中文

    雖然看不懂 但還是要頂下~~  回復  更多評論   

    主站蜘蛛池模板: 亚洲中文无码永久免费| 国产一区二区三区免费看| 国产精品亚洲精品| 免费一区二区三区四区五区| 中文字幕永久免费视频| 亚洲国产精品免费在线观看| 免费国产人做人视频在线观看| 精品国产免费一区二区三区香蕉| 亚洲中文字幕一区精品自拍| 亚洲中文字幕成人在线| 成人免费午夜无码视频| 国产精品无码永久免费888| 亚洲乱码在线视频| 国产日产亚洲系列| 天天摸天天操免费播放小视频| 91精品成人免费国产| 亚洲AV日韩AV无码污污网站| 亚洲成年轻人电影网站www| 四虎国产精品免费久久影院| 91精品国产免费入口| 亚洲精品偷拍视频免费观看| 亚洲人成人无码.www石榴| 午夜亚洲www湿好大| 亚洲AV之男人的天堂| 在线天堂免费观看.WWW| 久久这里只精品99re免费| 污污视频网站免费观看| 亚洲人成77777在线播放网站不卡 亚洲人成77777在线观看网 | 久久精品国产亚洲7777| 欧亚精品一区三区免费| 久久久久高潮毛片免费全部播放| 免费一区二区三区在线视频 | 久久久久国产精品免费免费不卡| 精品韩国亚洲av无码不卡区| 亚洲欧洲日产专区| 亚洲国产成人一区二区精品区| 亚洲阿v天堂在线2017免费| 日美韩电影免费看| 成年女人午夜毛片免费看| xxxxx免费视频| 777成影片免费观看|