Java Mockito参数捕获器和only()

Java Mockito参数捕获器和only(),java,unit-testing,mocking,mockito,Java,Unit Testing,Mocking,Mockito,我发现,每当我使用verify with only()检查调用是否只有一次时,ArgumentCaptor无法捕获值(我的值为null) 例如:verify(delegate,only()).call(captor.capture()) 原因是什么?或者它只是一个bug?不确定only()实际上在做什么,但是Mockito.times(1)有效,而only()失败 我的猜测是当您调用Mockito时。当开始时,它被算作only()的第一次调用,但在Mockito.times中不算,因为only(

我发现,每当我使用verify with only()检查调用是否只有一次时,ArgumentCaptor无法捕获值(我的值为null)

例如:verify(delegate,only()).call(captor.capture())

原因是什么?或者它只是一个bug?

不确定
only()
实际上在做什么,但是
Mockito.times(1)
有效,而
only()
失败

我的猜测是当您调用
Mockito时。当
开始时,它被算作
only()
的第一次调用,但在
Mockito.times中不算,因为
only()

不确定
only()
实际上在做什么,但是
Mockito.times(1)
起作用,而
only()
失败


我的猜测是,当您调用
Mockito时,
最初在
only()
的情况下,它被算作第一次调用,但在
Mockito中没有。times

使用Mockito 1.9.0测试了这一点,它似乎工作得很好。您确定您不仅仅是以null作为参数调用
call()
?还请注意,
only()
检查这是否是对mock的唯一调用,而不仅仅是对已验证方法的调用。我还使用Mockito 1.9.5测试了这一点,它工作正常。使用Mockito 1.9.0测试了这一点,它似乎工作正常。您确定您不仅仅是以null作为参数调用
call()
?还要注意,
only()
检查这是否是mock上的唯一调用,而不仅仅是验证过的方法。我还用Mockito 1.9.5测试了这一点,它工作正常。