こんな方法があるんです。
public <T> method(String s, Class<T> t) {...}
他のパラメータにマッチャーを使用する際に、第2引数に null
が渡されることをチェックする必要があること、私はこれを実行しています。
@SuppressWarnings("unchecked")
verify(client).method(eq("String"), any(Class.class));
しかし、(警告を抑制しない)もっと良い方法はないでしょうか?Tは他のメソッドの戻り値の型を表し、それが
voidであることもあり、そのような場合は
null` が渡されます。
Mockitoには isNull
matcher というのがあり、ここにクラス名を渡すことができます。 そのため、他のマッチャーと併用する必要がある場合は、以下のようにするのが正しいです。
verify(client).method(eq("String"),isNull(Class<?>.class));
これは現在非推奨となっています。新しいメソッドについては、以下の回答を参照してください - https://stackoverflow.com/a/41250852/1348