Mockito可空参数Captor值

bzzcjhmw  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(134)

是否可以有一个可空的ArgumentCaptor?
我正在尝试使用下面的方法

public Win getWin() {
        ArgumentCaptor<Win> winCaptor = ArgumentCaptor
                .forClass(Win.class);
        Mockito.verify(producer, Mockito.atMostOnce()).accept(winCaptor.capture());
        return winCaptor.getValue();
    }

producer.accept(win)被调用的时候,这个方法很好用,但是我希望它返回null,如果不是的话,这可行吗?
我目前得到这个错误

No argument value was captured!
You might have forgotten to use argument.capture() in verify()...
...or you used capture() in stubbing but stubbed method was not called.
Be aware that it is recommended to use capture() only with verify()
uyto3xhc

uyto3xhc1#

你可以使用winCaptor.getAllValues()方法。如果没有调用accept()方法,它不会抛出异常。相反,它将返回一个空列表。

相关问题