Mam kodu, który wygląda tak:Jak sfałszować wartość zwracaną mapy?
for (Map.Entry<Integer, Action> entry : availableActions.entrySet()) {
...
}
Próbowałem wyśmiewać to tak:
Map mockAvailableActions = mock(Map.class, Mockito.RETURNS_DEEP_STUBS);
mockAvailableActions.put(new Integer(1), mockAction);
Myślę, że to wystarczy. Ale entrySet jest pusty. Więc dodałem to:
when(mockAvailableActions.entrySet().iterator()).thenReturn(mockIterator);
when(mockIterator.next()).thenReturn(mockAction);
Jeszcze wpis Ustaw jest pusty. Co ja robię źle? Dzięki za wszelkie dane wejściowe!
Tak, to była moja pierwsza myśl. Ale co by wyglądało "Map.Entry entrySet ="? Nie można utworzyć instancji wpisu, więc chciałbym zdefiniować zmienną? –
user1660256
http://stackoverflow.com/questions/3110547/java-how-to-create-new-entry-key-value –
Miałeś rację Codebox - ta odpowiedź nie miała w ogóle naśmiewać mapy. – user1660256