Bagaimana untuk mencocokkan null berlalu untuk parameter Kelas dengan Mockito

Saya memiliki metode seperti ini:

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

Bahwa saya perlu memeriksa bahwa null diteruskan ke argumen kedua ketika menggunakan pencocokan untuk parameter lainnya, saya telah melakukan ini :

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

Tetapi ada cara yang lebih baik (tanpa menekan peringatan) ? T merupakan jenis kembali dari beberapa metode lain, yang kadang-kadang kekosongan dan dalam kasus ini null disahkan di.

Mengomentari pertanyaan (2)

Mockito memiliki isNull matcher, di mana anda dapat lulus dalam nama kelas. Jadi jika anda perlu untuk menggunakannya dengan pencocokan, hal yang benar untuk dilakukan adalah

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

Ini sekarang usang, lihat jawaban di bawah ini untuk metode baru - https://stackoverflow.com/a/41250852/1348

Komentar (8)
Larutan

Pembaruan dari David Wallace's jawaban:

Sebagai 2016-12, Jawa 8 dan Mockito 2.3,

public static  T isNull(Class clazz)

adalah Usang dan akan dihapus dalam Mockito 3.0

gunakan

public static  T isNull()

bukan

Komentar (2)

Ini bekerja untuk saya:

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