2012-04-07 77 views
0

我需要測試排序類,該類使用特定接口類型的數組。該接口只有一個函數,它只比較一個對象並返回一些int值。我正在嘗試使用easymock來測試它與jUnit。我陷入了兩個問題。 首先,我需要爲給定接口創建的每個模擬對象分配一些值。使用EasyMock測試void方法

mock[0] = EasyMock.createMock(CompareValue.class); 

如何爲模擬[0]賦值?接口選擇compareValue只有以下方法:

int compareVal(Object obj); 

對象將是在分揀類選擇compareValue類型

其次,我只有在它接受一個列表,並修改它的類靜態無效方法但不要返回任何東西。我不想改變接口或類中的任何代碼。我不知道如何檢索修改後的列表來檢查它是否已正確排序。

回答

1

重寫getter而不是將值賦給模擬。

expect(mock[0].getValue()).andRetun(yourValue); 
+0

接口中沒有getValue()方法。有什麼方法可以直接爲模擬對象賦值? – Ramy 2012-04-08 01:02:22

+0

我認爲唯一可能的方法是實現一個內部類 – Ramy 2012-04-08 01:09:48

+0

您可以提供一些CompareValue類的細節。 – 2012-04-08 16:10:23