我想验证一个方法是否被调用,传入了一个除特定值以外的任意long
类型的参数。
因此,我想知道是否有适用于我的用例的ArgumentMatcher
,例如:
verify(mObject).verifiedMethod(notEq(longValueThatShouldBeAvoided));
我找到了这个解决方法:
verify(mObject).method(longThat(arg -> arg != longValueThatShouldBeAvoided));
但我觉得奇怪的是,这样简单的 ArgumentMatcher
必须从头开始编写。
附加问题: 如何在检查多个值时避免重复代码?
类似地,我发现使用 arg -> arg != val0 && arg != val1
lambda 表达式作为 ArgumentsMatcher.longThat
方法的参数可以实现此功能。
not
方法吗?我的意思是,它在哪个包中声明的? - EnzoMolionimport static org.mockito.AdditionalMatchers.not; import static org.mockito.ArgumentMatchers.eq;
@EnzoMolion
- Misha Lemkoorg.hamcrest.Matcher
的not
... - EnzoMolion