2015-02-06 20 views
0

你好我正在使用Junit和EasyMock來測試一個類,唯一的問題是我有一個問題,理解如何處理數組和模仿數據方面的對象列表。如何在EasyMock中模擬數組和列表

public void hereisClassIamMocking(@Nonnull final List<object> manyObjects, 
     @Nullable final weirdArrayObject[] waoItems) 

有誰知道如何做到這一點,同時繼續使用EasyMock?

+3

這完全不清楚你爲什麼要嘲笑他們 - 當你有一個名爲'hereisClassIamMocking'的*方法時,你會特別不清楚...... – 2015-02-06 19:25:28

+0

你那麼正確......我剛剛注意到,當我改名該方法(這是一個不好的名稱替代)。 – whatkai 2015-02-09 17:51:06

回答

0

如果你想嘲笑這個方法(雖然它看起來有點怪我) 你應該做它像這樣

hereisClassIamMocking(ListObject,arrayObject); 
Easymock.expectLastCall(); 

,你需要模擬無效的方法,應該用做 easymock的財產。

0

您只能模擬對象,而an array isn't an object type,所以您無法創建任何類型數組的模擬。你可以創建一個列表的模擬,就像你創建的任何其他模擬一樣;你只需要從編譯器得到一個未經檢查的賦值警告。

那邊,你應該從來沒有嘲笑你的參數。它們代表對函數的實際輸入,並且是您可以在測試中提供的最具體的東西。我會質疑爲什麼你必須將一個數組一起傳遞給一個數組(在我看來,這個函數是乞求被重構的),但是你實際上想要將這個數組和列傳遞給你的方法來進行測試。