Mockito annotations
@Mock / @Spy / @InjectedMock / @Captor
Those annotations are common to see in enterprise java application. They allow shorthand creation of objects for unit test.
@Mock sth <=> Mockito.mock(SomeClass.class)
@Spy sth <=> Mockito.spy(SomeClass.class, instance)
@InjectedMock sth <=> create instance through constructor or setter by using
previously mocked fields
@Captor sth <=> ArgumentCaptor<SomeClass> argument, argument's value can be verified later
To make those annotations work, your test need to run with MockitoJunitRunner.class
runner.