是否有用于 mockito stubbing 的“not”ArgumentMatcher

Is there a `not` ArgumentMatcher for mockito stubbing

我正在尝试验证是否使用具有除给定值以外的任何值的 long 调用方法。

因此我想知道是否有适合我用例的 ArgumentMatcher,例如:

verify(mObject).verifiedMethod(notEq(longValueThatShouldBeAvoided));

我找到了这个解决方法:

verify(mObject).method(longThat(arg -> arg != longValueThatShouldBeAvoided));

但我觉得很奇怪,这么简单的ArgumentMatcher 必须从头开始写。


附加问题: 检查多个值时如何避免?

同样,我找到了使用 arg -> arg != val0 && arg != val1 lambda 作为 ArgumentsMatcher.longThat 方法参数的解决方法。

尝试:

import static org.mockito.AdditionalMatchers.not; 
import static org.mockito.ArgumentMatchers.eq;

verify(mObject).verifiedMethod(not(eq(longValueThatShouldBeAvoided)));

我认为您可能正在 AdditionalMatchers 中寻找 "not" 匹配器。

不过,我认为 中对此进行了更广泛的处理。