簡體   English   中英

Mockito 參數匹配器,匹配具有泛型的任何類型,不包括空值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM