9

我刚从 Mockito 开始,我只想做类似的事情:

public class Test {     
    public void clearList(List l){
        doVeryLOOOONGDatabaseCallll();
        l.clear();
        return;
    }
}

/// ... 
Test test = mock(Test.class);
Mockito.when(test.clearList(any(List.class))).then( l => l.clear());

有一些提示可以解决问题吗?谢谢您的帮助!

4

1 回答 1

23

这样的事情应该这样做(未经测试):

doAnswer(new Answer() {
    public Object answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        List<?> list = (List<?>) args[0];
        list.clear();
        return null;
    }
}).when(test).clearList(any(List.class));
于 2013-05-29T16:56:42.447 回答