2013-07-31 75 views
0

我在被測試的類中添加了匿名內部類。如何忽略在EasyMock中調用void方法

class ToTest{ 

    private MyManager myManager 

    public void seyMyManager(MyManager myManager){ 
     this.myManager = myManager; 
    } 

    .... 
    public void doSomething(){ 
    ... 
     myManager.addListener(new Listener(){...}); 
    ..... 
    } 
} 

我的經理是從其他包中使用的方法來測試身體的地方。

如何忽略此addListener調用?

P.S.忽略=我不想讓任何檢查調用myManager.addListener(..)方法

+0

請求郵編,遇到錯誤 – Taylor

+0

更多代碼請問,myManager從哪裏來? – Taylor

回答

1

有幾種方法可以做到這一點。

我的首選方法是要明確告知這樣的期待:

MyManager myManager = EasyMock.createMock(MyManager.class); 
... 
myManager.addListener(EasyMock.isA(Listener.class)); 
... 
replay(myManager); 

這裏最重要的一點是EasyMock.isA將對陣傳遞的Listener的期望。當別處測試失敗時出現問題時,我更喜歡這種方式。

或者您可以使用一個不錯模擬:

MyManager myManager = EasyMock.createNiceMock(MyManager.class); 
... 
replay(myManager); 

然而,任何缺少expections不會導致測試失敗,這就是爲什麼我不喜歡創造嘲笑這種方式。

相關問題