プリミティブ値のカスタムマッチャーを書く方法を理解しようとしています。次のカスタムマッチャーがあるとします。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方法は、いつも私がすることはできません推測している、ヌルを返すことですオートボクシングして整数に戻すことができます。
私はこのwoudlが一般的な使用例であるかのように感じます。
おかげで、 ロイ