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.