Mockito InvalidUseOfMatchersException 尽管只使用了匹配器(并且提示似乎提到了错误的参数数量)
Mockito InvalidUseOfMatchersException despite using only matchers (and hint seems to mention wrong number of parameters)
我 运行 进入了众所周知的 InvalidUseOfMatchersException,尽管我 是 使用所有匹配器。
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)
我知道我们不喜欢这里的代码截图,但我想证明它确实发生在这些行号处:
这是实际的方法:
所以它有点像 st运行ge。当方法有 4 个参数时,为什么需要 3 个匹配器?为什么它只“记录”了其中的 2 个,而我对所有这些都使用了 eq()
?
自我回答,因为错误误导了我。 (或者,也许有人可以解释为什么它实际上是准确的。)
结果是因为我的第三个参数 portcullisUtils
中的变量之一是我忘记为 getAdAccountRoleId(...)
存根的模拟对象。
我想这个程序不能真正告诉我当然我不是故意要匹配这样的抽象,而是做了一些奇怪的事情。
将接受任何能够解释这些特定错误消息原因的人的回答。
我 运行 进入了众所周知的 InvalidUseOfMatchersException,尽管我 是 使用所有匹配器。
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)
我知道我们不喜欢这里的代码截图,但我想证明它确实发生在这些行号处:
这是实际的方法:
所以它有点像 st运行ge。当方法有 4 个参数时,为什么需要 3 个匹配器?为什么它只“记录”了其中的 2 个,而我对所有这些都使用了 eq()
?
自我回答,因为错误误导了我。 (或者,也许有人可以解释为什么它实际上是准确的。)
结果是因为我的第三个参数 portcullisUtils
中的变量之一是我忘记为 getAdAccountRoleId(...)
存根的模拟对象。
我想这个程序不能真正告诉我当然我不是故意要匹配这样的抽象,而是做了一些奇怪的事情。
将接受任何能够解释这些特定错误消息原因的人的回答。