我在测试类中添加了匿名内部类。
class ToTest{
private MyManager myManager
public void seyMyManager(MyManager myManager){
this.myManager = myManager;
}
....
public void doSomething(){
...
myManager.addListener(new Listener(){...});
.....
}
}
我的经理是其他包中的类,用于测试主体的方法。
如何忽略此 addListener 调用?
附注忽略 = 我不想对调用 myManager.addListener(..) 方法进行任何检查
最佳答案
有几种方法可以做到这一点。
我更喜欢的方式是明确表达期望,如下所示:
MyManager myManager = EasyMock.createMock(MyManager.class);
...
myManager.addListener(EasyMock.isA(Listener.class));
...
replay(myManager);
这里重要的一点是 EasyMock.isA
它将与传递的 Listener
的期望相匹配。当其他地方出现问题而测试失败时,我更喜欢这种方式。
或者,您可以使用nice模拟:
MyManager myManager = EasyMock.createNiceMock(MyManager.class);
...
replay(myManager);
但是,任何缺失的期望都可能不会导致测试失败,这就是为什么我不喜欢以这种方式创建模拟。
关于java - 如何忽略 EasyMock 中对 void 方法的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17973194/