package com.perunlabs.testinjector; import static com.perunlabs.testinjector.inject.TestInjector.injectTest; import static org.assertj.core.api.Assertions.assertThat; import java.util.List; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mockito; public class CaptorTest { private static final String STRING = "abc"; @Test public void captor_field() throws Exception { CaptorField test = new CaptorField(); injectTest(test); ArgumentCaptor<String> captor = test.captor; assertThat(captor).isNotNull(); // checking that object can capture values which means it is a captor @SuppressWarnings("unchecked") List<String> mock = Mockito.mock(List.class); mock.add(STRING); Mockito.verify(mock).add(captor.capture()); assertThat(captor.getValue()).isEqualTo(STRING); } private static class CaptorField { @Captor ArgumentCaptor<String> captor; } }