2015-05-29 77 views
0
QueueItems[] items = .... 

我怎麼可以模仿使用mockito的QueueItems []的對象?如何使用mockito模擬QueueItems []?

我試過了:ArrayList workItems = mock(ArrayList.class); QueueItems = mock(QueueItems.class);

但無法正常工作。

+0

你想嘲笑一個數組?爲什麼不使用真正的數組? –

回答

0

如果你想自定義創建一個項目數組,你應該創建這樣一個數組,然後將模擬插入到數組中。你不應該嘗試去模擬一個數組,因爲這是Java的核心實現。

此外,List s更好地使用,因爲它們允許更多的靈活性。一個例子:

@RunWith(MockitoJUnitRunner.class) 
public class TestClass { 

    @Mock 
    private QueueItem item1; 

    private List<QueueItem> items; 

    @Before 
    public void setUp() { 
     items = new ArrayList<QueueItem>(); 
     // Your mocked QueueItem is the first entry in the list 
     items.add(item1); 
    } 

    @Test 
    public void simpleTest() { 
     invokeSomeMethodWithList(items); 
     Mockito.verify(item1).someMethod(); 
    } 
}