Mockito testing events

假如想象 提交于 2020-02-24 09:11:34

问题


I have a class which generates events e.g.

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

 }

}

I'm using Mockito to mock an EventListener and want to do an equality on the event object (e.g. event.getTime()..event.getMessage() etc). The event object doesnt have an equals method so I cant easily create another object and do an assert.

Whats the normal way of doing this with Mockito?


回答1:


It looks like you want to use an argument captor.

For example:

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


来源:https://stackoverflow.com/questions/9905928/mockito-testing-events

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!