【发布时间】:2011-12-14 14:49:29
【问题描述】:
试图弄清楚如何为原始值编写自定义匹配器。假设我有以下自定义匹配器:
class IsEven extends ArgumentMatcher<Integer> {
public boolean matches(Object i) {
return ((Integer) i) % 2 == 0;
}
}
然后我运行以下测试。 'mocked' 是一个已经模拟的类实例,它有一个方法 '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,我猜它不能自动装箱回整数。
我觉得这将是一个常见的用例 - 有什么建议吗?
谢谢, 罗伊
【问题讨论】: