我有一个生成事件的类,例如
public class EventSource{
public addEventListener(EventListener listener).....
public raiseEvent(){
Event e=....
listener.handle(e);
}
}
我使用Mockito来模拟EventListener,并希望在事件对象上实现相等(例如event.getTime()..event.getMessage()等)。事件对象没有equals方法,所以我无法轻松创建另一个对象并进行断言。
用Mockito做这件事的正常方式是什么?
看起来您想要使用一个参数捕获器。
例如:
ArgumentCaptor<Event> argument = ArgumentCaptor.forClass(Event.class);
verify(mockedListener).handle(argument.capture());
assertEquals("ExpectedMessage", argument.getValue().getMessage());