기본 값에 대한 맞춤 matcher를 작성하는 방법을 찾으려고합니다. 다음 맞춤 테스트가 있다고 가정 해 보겠습니다.Mockito - 기본 Matcher를 일치 시키려고 할 때 Custom Matcher가 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)을 반환한다는 것입니다 정수로 다시 autoboxed 될 수 있습니다.
나는이 공통점이 일반적인 사용 사례 인 것처럼 느낍니다.
감사합니다, 로이