zl程序教程

您现在的位置是:首页 >  后端

当前栏目

[Mockito] Mock List interface

List interface mock Mockito
2023-09-14 08:59:14 时间

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));
    }