package com.perunlabs.testinjector; import static com.perunlabs.testinjector.inject.TestInjector.injectTest; import static org.assertj.core.api.Assertions.assertThat; import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.mockito.Spy; import org.mockito.internal.util.MockUtil; public class SpyTest { private static final List<String> STRING_LIST = new ArrayList<String>(); @Test public void spy_field() throws Exception { SpyField test = new SpyField(); injectTest(test); assertThat(new MockUtil().isSpy(test.spy)).isTrue(); } private static class SpyField { @Spy List<String> spy = STRING_LIST; } @Test(expected = RuntimeException.class) public void spying_null_field_fails() throws Exception { injectTest(new NullSpyField()); } private static class NullSpyField { @Spy String nullValue = null; } }