Development Tip

클래스의 매개 변수에 전달 된 null을 일치시키는 방법

yourdevel 2020. 10. 20. 08:16
반응형

클래스의 매개 변수에 전달 된 null을 일치시키는 방법 Mockito와 함께


다음과 같은 방법이 있습니다.

public <T> method(String s, Class<T> t) {...}

null다른 매개 변수에 대해 매처를 사용할 때 두 번째 인수에 전달되는지 확인해야한다는 점 은 다음과 같습니다.

@SuppressWarnings("unchecked")
verify(client).method(eq("String"), any(Class.class));

그러나 더 나은 방법이 있습니까 (경고를 억제하지 않고)? T다른 메서드의 반환 유형을 나타내며, 때로는 void이러한 경우 null에 전달됩니다.


Mockito에는 클래스 이름을 전달할 수 있는 isNullmatcher 가 있습니다. 따라서 다른 매처와 함께 사용해야하는 경우 올바른 방법은

verify(client).method(eq("String"),isNull(Class<?>.class));

이것은 이제 더 이상 사용되지 않습니다. 새로운 방법은 아래 답변을 참조하십시오-https: //stackoverflow.com/a/41250852/1348


David Wallace의 답변 업데이트 :

2016-12, Java 8 및 Mockito 2.3,

public static <T> T isNull(Class<T> clazz)

더 이상 사용되지 않으며 Mockito 3.0에서 제거됩니다.

사용하다

public static <T> T isNull()

대신


이것은 나를 위해 작동합니다.

verify(client).method(eq("String"), eq((Class<?>) null));

참고 URL : https://stackoverflow.com/questions/12707609/how-to-match-null-passed-to-parameter-of-classt-with-mockito

반응형