2013-07-31 39 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不会导致测试失败,这就是为什么我不喜欢创造嘲笑这种方式。

相关问题