当使用Mockito验证方法`times`得到null时

ymdaylpp  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(65)

当我尝试使用Mockitoverify来测试testMethod的extral调用次数时(实际上这个方法只执行了2次),但我得到了以下消息。

verify(XXXXXXX, times(2)).testMethod(any(XXXXXX.class))
|      |          |         |        |        |
|      |          |         null    null      class XXXXXX
|      |          Wanted invocations count: 2
|      Mock for XXXXXXX, hashCode: 292294397
Mock for XXXXXXX, hashCode: 292294397

字符串
如果我将时间更改为1,则错误消息为:

verify(XXXXXXX, times(1)).testMethod(any(XXXXXX.class))
|      |          |         |     |         |
|      |          |         |     null      class XXX
|      |          |         org.mockito.exceptions.verification.TooManyActualInvocations: 
|      |          |         XXX.XXXX(
|      |          |             <any XXX>
|      |          |         );
|      |          |         Wanted 1 time:
|      |          |         -> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|      |          |         But was 2 times:
|      |          |         -> at XXXX.XXX(XXX.java:129)
|      |          |         -> at XXXXX.XXX(XXX.java:129)
|      |          |          
|      |          |         
|      |          Wanted invocations count: 1


以前有人遇到过这个问题吗?

omqzjyyz

omqzjyyz1#

添加|| true帮助我解决了类似的问题:

verify(mock, times(2)).methodName(captor.capture()) || true

字符串

相关问题