Как сопоставить null, переданный параметру Class, с помощью Mockito

У меня есть такие методы:

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

Мне нужно проверить, что null передается во втором аргументе при использовании мачеров для других параметров, я делал это:

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

Но есть ли лучший способ (без подавления предупреждений)? T представляет возвращаемый тип некоторого другого метода, который иногда является void и в этих случаях передается null.

Комментарии к вопросу (2)

Mockito имеет isNull matcher, где вы можете передать имя класса. Поэтому, если вам нужно использовать его с другими матчерами, правильнее всего будет сделать следующее

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

Теперь этот метод устарел, смотрите ответ ниже для нового метода - https://stackoverflow.com/a/41250852/1348.

Комментарии (8)
Решение

Обновление ответа Дэвида Уоллеса:

По состоянию на 2016-12, Java 8 и Mockito 2.3,

public static  T isNull(Class clazz)

является Устаревшим и будет удален в Mockito 3.0

использовать

public static  T isNull()

вместо этого

Комментарии (2)

Это работает для меня:

verify(client).method(eq("String"), eq((Class<?>) null));
Комментарии (1)