2012-03-28 167 views
3

我有一個課程可以產生活動,例如Mockito測試活動

public class EventSource{ 
public addEventListener(EventListener listener)..... 
public raiseEvent(){ 
    Event e=.... 
    listener.handle(e); 

} 

} 

我使用到的Mockito嘲笑的事件監聽和想要做的活動對象上的平等(例如event.getTime().. event.getMessage()等)。事件對象沒有equals方法,所以我不能輕鬆創建另一個對象並執行斷言。

這是什麼與Mockito這樣做的正常方式?

回答

3

它看起來像你想使用argument captor

例如:

ArgumentCaptor<Event> argument = ArgumentCaptor.forClass(Event.class); 
verify(mockedListener).handle(argument.capture()); 
assertEquals("ExpectedMessage", argument.getValue().getMessage());