試圖找出如何爲原始值編寫自定義匹配器。假設我有以下自定義匹配器: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是一個常見的用例 - 任何建議?
感謝, 羅伊