I have some code
service.doAction(request, Callback callback);
How can I using Mockito grab the callback object, and call c
If you have a method like:-
public void registerListener(final IListener listener) {
container.registerListener(new IListener() {
@Override
public void beforeCompletion() {
}
@Override
public void afterCompletion(boolean succeeded) {
listener.afterCompletion(succeeded);
}
});
}
Then following way you can mock the above method easily :-
@Mock private IListener listener;
@Test
public void test_registerListener() {
target.registerListener(listener);
ArgumentCaptor listenerCaptor =
ArgumentCaptor.forClass(IListener.class);
verify(container).registerListener(listenerCaptor.capture());
listenerCaptor.getValue().afterCompletion(true);
verify(listener).afterCompletion(true);
}
I hope this might help someone, as i had spend lot of time in figuring out this solution