tôi có mã giống như vậy:Làm thế nào để giả lập giá trị trả lại của Bản đồ?
for (Map.Entry<Integer, Action> entry : availableActions.entrySet()) {
...
}
tôi đã cố gắng để thử nó như thế này:
Map mockAvailableActions = mock(Map.class, Mockito.RETURNS_DEEP_STUBS);
mockAvailableActions.put(new Integer(1), mockAction);
Tôi nghĩ rằng đó sẽ là đủ. Nhưng entrySet trống. Vì vậy, tôi đã thêm điều này:
when(mockAvailableActions.entrySet().iterator()).thenReturn(mockIterator);
when(mockIterator.next()).thenReturn(mockAction);
Vẫn mục nhậpĐặt trống. Tôi đang làm gì sai? Cảm ơn mọi đầu vào!
Vâng, đó là suy nghĩ đầu tiên của tôi. Nhưng "Map.Entry entrySet =" trông như thế nào? Entry không thể được instantiated, vì vậy tôi sẽ xác định biến? –
user1660256
http://stackoverflow.com/questions/3110547/java-how-to-create-new-entry-key-value –
Bạn đã đúng Codebox - câu trả lời này không phải là giả lập Bản đồ. – user1660256