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

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

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

    Sky's blog

    我和我追逐的夢(mèng)

    常用鏈接

    統(tǒng)計(jì)

    其他鏈接

    友情鏈接

    最新評(píng)論

    推薦升級(jí)easymock到新的3.0版本

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

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

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

        編碼的時(shí)候稍有不慎就搞錯(cuò),代碼難寫而且難看。很明顯,這是一個(gè)沒有必要的設(shè)計(jì),因?yàn)槭褂谜咄ǔ2⒉魂P(guān)心mock的是interface還是class。

        近日得知easymock已經(jīng)發(fā)布了新的3.0版本,該版本的主要改進(jìn)就是消除上述的問題,新版本中可以直接mock class,不再?gòu)?qiáng)制使用easyMock class extension。

        以下是easymock官網(wǎng) http://easymock.org/ 的發(fā)布信息:

    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之中還是發(fā)布了Class Extension版本,作為舊有的2.*代碼和新的3.0之間的代理。不過明確標(biāo)記為"deprecated"了。

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

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

        1. 不修改原有代碼,使用3.0的class extension來保持兼容
    代碼編譯通過,測(cè)試案例正常運(yùn)行。
    這個(gè)方案適合項(xiàng)目較大時(shí)先整體升級(jí),保證測(cè)試案例可以運(yùn)行,后續(xù)再逐步轉(zhuǎn)移到3.0版本。

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

        兩個(gè)方法組合使用,就可以平穩(wěn)的將原有的2.*的測(cè)試案例轉(zhuǎn)移到新的3.0版本中。

        強(qiáng)烈推薦還在使用easymock 2.*的朋友們升級(jí)到3.0版本。

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

    評(píng)論

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

    雖然看不懂 但還是要頂下~~  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 免费播放美女一级毛片| 最近免费中文字幕高清大全| 国产精品亚洲片在线| 外国成人网在线观看免费视频| ASS亚洲熟妇毛茸茸PICS| 亚洲AV成人潮喷综合网| 久9久9精品免费观看| 久久久久亚洲国产AV麻豆 | 亚洲欧洲成人精品香蕉网| 国产免费丝袜调教视频| 男人免费视频一区二区在线观看| 久久亚洲伊人中字综合精品| 青青久在线视频免费观看| selaoban在线视频免费精品| 亚洲一区在线视频| 亚洲综合色婷婷七月丁香| 成人免费福利电影| 无码人妻丰满熟妇区免费| 国产天堂亚洲精品| 亚洲喷奶水中文字幕电影| 亚洲综合色婷婷七月丁香| 日韩免费在线观看| 91精品成人免费国产片| 中文字幕免费在线看电影大全| 亚洲乱码一区二区三区国产精品| 亚洲国产精品成人精品无码区在线| 成年性生交大片免费看| 精品四虎免费观看国产高清午夜| 国产精品亚洲а∨无码播放不卡 | 老司机69精品成免费视频| 亚洲精品无码日韩国产不卡av| 亚洲av一综合av一区| 亚洲狠狠爱综合影院婷婷| 韩国二级毛片免费播放| 久久国产免费福利永久| 久久精品国产免费一区| sihu国产精品永久免费| 亚洲国产欧美国产综合一区| 亚洲国产高清视频在线观看| 久久久久亚洲精品天堂| 午夜亚洲www湿好大|