【发布时间】:2020-10-23 11:24:57
【问题描述】:
我遇到了众所周知的 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)
我知道我们不喜欢这里的代码截图,但我想说服它确实发生在这些行号:
这是实际的方法:
所以这有点奇怪。当方法有 4 个参数时,为什么需要 3 个匹配器?当我对所有这些都使用eq() 时,为什么它只“记录”其中的 2 个?
自我回答,因为错误误导了我。 (或者,也许有人可以解释为什么它实际上是准确的。)
【问题讨论】: