Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mockito InvalidUseofMatcherException,尽管只使用了匹配器(提示似乎提到了错误的参数数量)_Exception_Mockito_Matcher - Fatal编程技术网

Mockito InvalidUseofMatcherException,尽管只使用了匹配器(提示似乎提到了错误的参数数量)

Mockito InvalidUseofMatcherException,尽管只使用了匹配器(提示似乎提到了错误的参数数量),exception,mockito,matcher,Exception,Mockito,Matcher,我遇到了一个众所周知的InvalidUseofMatchers异常,尽管我使用的是所有的matchers org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument matchers! 3 matchers expected, 2 recorded: -> at com.spotify.adaccountservice.utils.RoleUtilsTest.test_add

我遇到了一个众所周知的InvalidUseofMatchers异常,尽管我使用的是所有的matchers

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
3 matchers expected, 2 recorded:
-> at com.spotify.adaccountservice.utils.RoleUtilsTest.test_addOrRemoveRole_AddUserToAdAccount(RoleUtilsTest.java:179)
-> at com.spotify.adaccountservice.utils.RoleUtilsTest.test_addOrRemoveRole_AddUserToAdAccount(RoleUtilsTest.java:180)
我知道我们不喜欢这里的代码截图,但我想让大家相信它确实发生在这些行号上:

下面是实际的方法:

所以这有点奇怪。当方法有4个参数时,为什么需要3个匹配器?为什么当我对所有这些都使用
eq()
时,它只“记录”了其中的两个呢


自我回答,因为错误误导了我。(或者,也许有人可以解释为什么它实际上是准确的。)

结果表明,这是因为我的第三个参数中的一个变量,
portcullisUtils
,是一个模拟对象,我忘记了为
getAdAccountRoleId(…)
存根

我想程序真的说不出来,当然我不是有意反对这样的抽象,而是做了一些奇怪的事情

将接受任何能够解释这些特定错误消息原因的人的答案