[英]Mockito argument matcher that matches any of a type with generics, excluding nulls
假設我有一堂這樣的課
public class Wrapper<T> {
T data;
}
我有一個這樣的方法調用:
public interface ThingDoer {
<T> boolean doSomething(Wrapper<T> wrapper)
}
我想在測試中模擬它。 假設我們都設置了 mockito 的東西,現在我正在嘗試模擬這個方法調用
when(thingDoer.doSomething(any(Wrapper.class))).thenReturn(true);
但是,這會給我一個警告: Unchecked assignment: 'package.Wrapper' to 'package.Wrapper<T>'
我在某處讀到另一個建議,在 Java 8 中,你應該使用any()
而不是any(Wrapper.class)
。 但是,通讀這兩種方法的文檔, any()
將接受空參數,而any(Class)
將拒絕空參數,因此它們不是完全同義的。 有沒有辦法在沒有警告的情況下排除空值?
使用isNotNull()
作為匹配器。
when(thingDoer.doSomething(isNotNull())).thenReturn(true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.