单元测试中多次调用同一方法并返回不同的值要怎么去实现呢 我每次写的时候都会覆盖上导致只获取到一个返回值
3条回答 默认 最新
关注
示例代码如下
@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)); } }
如果还有疑问,可以随时沟通。
如有帮助,请采纳,十分感谢!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报