easymock教程-使用MockControl
在easymock中,通常我們使用一下的代碼來創(chuàng)建mock對(duì)象




如果需要mock多個(gè)對(duì)象,則需要如此:








不僅需要為每個(gè)mock對(duì)象增加create語句,而且需要為這個(gè)新增的mock對(duì)象更新replay()/verify()/reset()方法,比較啰嗦,而且容易出錯(cuò)。
這種情況下可以考慮使用MocksControl來簡化代碼:








IMocksControl接口容許創(chuàng)建多個(gè)mock對(duì)象,這些創(chuàng)建的對(duì)象自動(dòng)關(guān)聯(lián)到這個(gè)mocksControl實(shí)例上,以后再調(diào)用replay()/verify()/reset()時(shí)就不需要逐個(gè)列舉出每個(gè)mock對(duì)象。當(dāng)mock對(duì)象比較多,尤其是原有代碼上新增mock 對(duì)象時(shí)非常方便。
事實(shí)上,Easymock.createMock()方法內(nèi)部實(shí)現(xiàn)也是使用IMocksControl的:







除了使用方便外,使用IMocksControl還有另外一個(gè)重要的好處,就是如果使用strict control,則可以跨多個(gè)mock對(duì)象檢測(cè)方法的調(diào)用順序,具體的內(nèi)容請(qǐng)參考本教程中的"strict和nice"一文。
posted on 2010-10-26 17:18 sky ao 閱讀(2617) 評(píng)論(0) 編輯 收藏 所屬分類: software test