Как сопоставить null, переданный параметру класса с Mockito
у меня есть такие методы:
public <T> method(String s, Class<T> t) {...}
что мне нужно это проверить null
передается во второй аргумент при использовании matchers для других параметров, я делал это:
@SuppressWarnings("unchecked")
verify(client).method(eq("String"), any(Class.class));
но есть ли лучший способ (без подавления предупреждений) ? T
представляет тип возврата некоторого другого метода, который иногда void
и в этих случаях null
передается.
3 ответа:
Mockito есть
isNull
matcher, где вы можете передать имя класса. Так что если вам нужно использовать его с другими вычислителей, правильно составляетverify(client).method(eq("String"),isNull(Class<?>.class));
это теперь устарело, см. ответ ниже для нового метода -https://stackoverflow.com/a/41250852/1348
обновление из ответа Дэвида Уоллеса:
по состоянию на 2016-12, Java 8 и Mockito 2.3,
public static <T> T isNull(Class<T> clazz)
и устаревший и будет удален в Mockito 3.0
использовать
public static <T> T isNull()
вместо