试图找出如何为原始值编写自定义匹配器。假设我有以下自定义匹配器:Mockito - 自定义匹配器在尝试匹配原语时抛出NPE
class IsEven extends ArgumentMatcher<Integer> {
public boolean matches(Object i) {
return ((Integer) i) % 2 == 0;
}
}
然后我运行以下测试。 “嘲笑”是有方法的类的已经嘲弄实例“的someMethod”:
@Test
public void primatives() {
mocked.someMethod(2);
ArgumentMatcher<Integer> customMatcher = new IsEven();
// ! Throws NPE !
Mockito.verify(mocked).someMethod(Mockito.argThat(customMatcher));
}
的原因NullPointerException异常的是,Mockio.argThat方法总是返回null,这我猜不能被自动复制回一个整数。
我感觉好像这个woudl是一个常见的用例 - 任何建议?
感谢, 罗伊