一口一个大面包 2022-04-08 20:36 采纳率: 77.8%
浏览 93
已结题

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

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

  • 写回答

3条回答 默认 最新

  • 太空眼睛 Java领域新星创作者 2022-04-08 22:02
    关注

    示例代码如下

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月17日
  • 已采纳回答 4月9日
  • 创建了问题 4月8日

悬赏问题

  • ¥20 收一个快手协议下单算法
  • ¥15 求一个图片中的成交量选股公式
  • ¥15 已知正方形内随机生成坐标matlab
  • ¥30 关于#python#的问题:我想要的是这79个大特征对于房屋售价的最大的影响前十名(相关搜索:随机森林)
  • ¥15 使用matlab计算自定义特殊函数的二重积分,改变积分顺序所得的结果不同的问题?
  • ¥15 mysql做碎片化处理老是报错怎么办
  • ¥15 如何正确在vs2010中初始化map对象
  • ¥30 mmdet3d模型部署问题
  • ¥15 comsol仿真反射率、吸收率时峰值位置和深度不对!
  • ¥30 Visual Studio找不到sdk,如何解决?