junit4单元测试多次调用同一方法

单元测试中多次调用同一方法并返回不同的值要怎么去实现呢 我每次写的时候都会覆盖上导致只获取到一个返回值

示例代码如下


@SpringBootTest(classes = Answer7685623.class)
public class Answer7685623 {

    @Test
    void testTwice() {
        List mockList = Mockito.mock(List.class);
        Mockito.when(mockList.get(Mockito.eq(1))).thenReturn("AAA");
        Mockito.when(mockList.get(Mockito.eq(2))).thenReturn("BBB");
        Mockito.when(mockList.get(Mockito.eq(3))).thenThrow(new IllegalArgumentException());

        Assertions.assertEquals("AAA", mockList.get(1));
        Assertions.assertEquals("BBB", mockList.get(2));
        Assertions.assertThrows(IllegalArgumentException.class, () -> mockList.get(3));
    }
}

如果还有疑问,可以随时沟通。
如有帮助,请采纳,十分感谢!

使用Mockito 框架可以做,参考

1)自己编码实现
2)码字不易,是你的意思,请采纳,写得不好,勿喷!多谢理解


/**
 * @author pcj
 * @date 2022/4/8
 * @note
 */
public class Test {
    @org.junit.Test
    public void testMe(){
        String retS = "ok";
        try {
            //1)调用该方法返回空指针异常
            //Me(null);

            //2) 调用该方法抛出被0除异常
            Me(0);
        }catch (Exception ex){
            ex.printStackTrace();
            retS = ex.getMessage();
        }
        System.out.println(retS);
    }
    /**
     * 这里面写你的service方法调用
     */
    public void Me(Integer integer){
        Integer i = 1000/integer;
    }
}