Package org.mockito
Annotation Type Mock
-
@Target({FIELD,PARAMETER}) @Retention(RUNTIME) @Documented public @interface Mock
Mark a field as a mock.- Allows shorthand mock creation.
- Minimizes repetitive mock creation code.
- Makes the test class more readable.
- Makes the verification error easier to read because the field name is used to identify the mock.
- Automatically detects static mocks of type
MockedStaticand infers the static mock type of the type parameter.
public class ArticleManagerTest extends SampleBaseTestCase { @Mock private ArticleCalculator calculator; @Mock(name = "database") private ArticleDatabase dbMock; @Mock(answer = RETURNS_MOCKS) private UserProvider userProvider; @Mock(extraInterfaces = {Queue.class, Observer.class}) private ArticleMonitor articleMonitor; @Mock(strictness = Mock.Strictness.LENIENT) private ArticleConsumer articleConsumer; @Mock(stubOnly = true) private Logger logger; private ArticleManager manager; @Before public void setup() { manager = new ArticleManager(userProvider, database, calculator, articleMonitor, articleConsumer, logger); } } public class SampleBaseTestCase { private AutoCloseable closeable; @Before public void openMocks() { closeable = MockitoAnnotations.openMocks(this); } @After public void releaseMocks() throws Exception { closeable.close(); } }MockitoAnnotations.openMocks(this)method has to be called to initialize annotated objects. In above example,openMocks()is called in @Before (JUnit4) method of test's base class. Instead you can also put openMocks() in your JUnit runner (@RunWith) or use the built-inMockitoJUnitRunner. Also, make sure to release any mocks after disposing your test class with a corresponding hook.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description AnswersanswerMock will have custom answer, seeMockSettings.defaultAnswer(Answer).Class<?>[]extraInterfacesMock will have extra interfaces, seeMockSettings.extraInterfaces(Class[]).booleanlenientDeprecated.Usestrictness()instead.StringmockMakerMock will be created by the givenMockMaker, seeMockSettings.mockMaker(String).StringnameMock will have custom name (shown in verification errors), seeMockSettings.name(String).booleanserializableMock will be serializable, seeMockSettings.serializable().Mock.StrictnessstrictnessMock will have custom strictness, seeMockSettings.strictness(org.mockito.quality.Strictness).booleanstubOnlyMock will be 'stubOnly', seeMockSettings.stubOnly().booleanwithoutAnnotationsMock will not attempt to preserve all annotation metadata, seeMockSettings.withoutAnnotations().
-
-
-
Element Detail
-
answer
Answers answer
Mock will have custom answer, seeMockSettings.defaultAnswer(Answer). For examples how to use 'Mock' annotation and parameters seeMock.- Default:
- org.mockito.Answers.RETURNS_DEFAULTS
-
-
-
stubOnly
boolean stubOnly
Mock will be 'stubOnly', seeMockSettings.stubOnly(). For examples how to use 'Mock' annotation and parameters seeMock.- Default:
- false
-
-
-
name
String name
Mock will have custom name (shown in verification errors), seeMockSettings.name(String). For examples how to use 'Mock' annotation and parameters seeMock.- Default:
- ""
-
-
-
extraInterfaces
Class<?>[] extraInterfaces
Mock will have extra interfaces, seeMockSettings.extraInterfaces(Class[]). For examples how to use 'Mock' annotation and parameters seeMock.- Default:
- {}
-
-
-
serializable
boolean serializable
Mock will be serializable, seeMockSettings.serializable(). For examples how to use 'Mock' annotation and parameters seeMock.- Default:
- false
-
-
-
lenient
@Deprecated boolean lenient
Deprecated.Usestrictness()instead. Mock will be lenient, seeMockSettings.lenient(). For examples how to use 'Mock' annotation and parameters seeMock.- Since:
- 2.23.3
- Default:
- false
-
-
-
strictness
Mock.Strictness strictness
Mock will have custom strictness, seeMockSettings.strictness(org.mockito.quality.Strictness). For examples how to use 'Mock' annotation and parameters seeMock.- Since:
- 4.6.1
- Default:
- org.mockito.Mock.Strictness.TEST_LEVEL_DEFAULT
-
-
-
mockMaker
String mockMaker
Mock will be created by the givenMockMaker, seeMockSettings.mockMaker(String).- Since:
- 4.8.0
- Default:
- ""
-
-
-
withoutAnnotations
boolean withoutAnnotations
Mock will not attempt to preserve all annotation metadata, seeMockSettings.withoutAnnotations().- Since:
- 5.3.0
- Default:
- false
-
-