In this post, we are going to see more functionalities in Mockito.
Mock a List interface:
@Test public void testZie_returnOnce() { List listMock = mock(List.class); when(listMock.size()).thenReturn(10); assertEquals(10, listMock.size()); }
Call multi times:
@Test public void testZie_returnMultis() { List listMock = mock(List.class); when(listMock.size()).thenReturn(10).thenReturn(20); assertEquals(10, listMock.size()); assertEquals(20, listMock.size()); }
First call, return 10, second times return 20.
Mock, List.get():
@Test public void testZie_returnGet() { List listMock = mock(List.class); when(listMock.get(0)).thenReturn("Good"); assertEquals("Good", listMock.get(0)); assertEquals(null, listMock.get(1)); }
Mockito.anyInt():
@Test public void testZie_returnGetAny() { List listMock = mock(List.class); when(listMock.get(Mockito.anyInt())).thenReturn("Good"); assertEquals("Good", listMock.get(0)); assertEquals("Good", listMock.get(1)); }