mockito在mock集合对象时怎样进入for循环或foreach
java中常用的for循环大致有三种:
1:最基本的for(int i = 0; i < list.size; i++)。
2:java提供的foreach写法for(Integer i : list)。
3:java 8以后比较常见的流式写法 list.forEach(Consumer<? super E> action)
在使用mockito编写单元测试的过程中
1: 如果遇到第一种for循环,可以先mock出List的mock对象,然后去修改list.size()的返回值。具体代码如下:
List listMock = Mockito.mock(List.class);
Mockito.when(listMock.size()).thenReturn(1);
2:如果遇到第二种foreach循环,需要mock出来List和Iterator(因为java提供的foreach写法是基于iterator实现的)。具体代码如下:
List listMock