0 votes
1 view
in Java by (3.5k points)

Is there a way to capture a list of specific type using mockitos ArgumentCaptore. This doesn't work:

ArgumentCaptor<ArrayList<SomeType>> argument = ArgumentCaptor.forClass(ArrayList.class);

1 Answer

0 votes
by (46.1k points)

The nested generics-problem can be bypassed amidst the @Captor annotation:

@RunWith(MockitoJUnitRunner.class)

public class Test{

    @Mock

    private Service service;

    @Captor

    private ArgumentCaptor<ArrayList<SomeType>> captor;

    @Before

    public void init(){

        MockitoAnnotations.initMocks(this);

    }

    @Test 

    public void shouldDoStuffWithListValues() {

        //...

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

    }

}

Related questions

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...