2017-05-31 26 views
1

尋找這樣的事情:如何在scala測試中將通配符與模擬的通話進行匹配?

//Mockito when rawData.filter(filter) thenReturn mockInfo 
    //this won't work because the parameter can only match one instance 
    //but I want 
    Mockito when rawDataRDD.filter(*) thenReturn mockInfo 

所以如何將我匹配斯卡拉測試用通配符窺探通話?

更多的解釋:

我在scala test尋找一個窺探模擬所有調用到RDD過濾器將被捕獲並返回指定的模擬結果。

更一般地說,尋找Scala中的匹配函數(就像java中的AnyString),就像任何函數一樣,以匹配所有的過濾函數。

+0

你介意把一個完整的[MCVE。我不知道你打算做什麼以及事情發生在哪裏。 – GhostCat

回答

1

使用Matchers.any()

Mockito when rawDataRDD.filter(Matchers.any()) thenReturn mockInfo 
+0

真棒,謝謝。爲什麼我很難在文檔中搜索這樣的東西 – zinking

+1

對於Mockito的更高版本,這應該是'org.mockito.Mockito.any()',以免與Hamcrest混淆。 'org.mockito.Matchers.any()'現在已被棄用 – Brad