ArgumentCaptor для универсального списка всегда возвращает пустой список - PullRequest
0 голосов
/ 01 мая 2019

При попытке перехватить параметр ArrayList с помощью ArgumentCaptor получающийся объект всегда будет пустым списком.

Я использую аннотацию @Captor для создания моего ArgumentCaptor, но он по-прежнему приводит к возвращению пустого списка.

 @RunWith(MockitoJUnitRunner.class)
    public class Test{

        @Mock
        private Service service;

        @Captor
        private ArgumentCaptor<ArrayList<SomeType>> secondCaptor;

        @Before
        public void init(){
            MockitoAnnotations.initMocks(this);
        }

        @Test 
        public void shouldDoStuffWithListValues(){

        ArgumentCaptor<SomeType> captor = ArgumentCaptor.forClass(SomeType.class);

        //...

        verify(service).doStuff(captor.capture(), secondCaptor.capture()));

        SomeType type = captor.getValue();
        List<SomeType> someTypeList = secondCaptor.getValue();

        //this assert is fine
        Assert.assertTrue(type != null);

        //whereas; this assert always fails, despite the call containing a value
        Assert.assertTrue(someTypeList.size()>0);

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...