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.
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; @Mock(stubOnly = true) private Logger logger; private ArticleManager manager; @Before public void setup() { manager = new ArticleManager(userProvider, database, calculator, articleMonitor, logger); } } public class SampleBaseTestCase { @Before public void initMocks() { MockitoAnnotations.initMocks(this); } }
MockitoAnnotations.initMocks(this)
method has to be called to initialize annotated objects. In above example,initMocks()
is called in @Before (JUnit4) method of test's base class. For JUnit3initMocks()
can go tosetup()
method of a base class. Instead you can also put initMocks() in your JUnit runner (@RunWith) or use the built-inMockitoJUnitRunner
.
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description Answers
answer
Mock will have custom answer, seeMockSettings.defaultAnswer(Answer)
.java.lang.Class<?>[]
extraInterfaces
Mock will have extra interfaces, seeMockSettings.extraInterfaces(Class[])
.boolean
lenient
Mock will be lenient, seeMockSettings.lenient()
.java.lang.String
name
Mock will have custom name (shown in verification errors), seeMockSettings.name(String)
.boolean
serializable
Mock will be serializable, seeMockSettings.serializable()
.boolean
stubOnly
Mock will be 'stubOnly', seeMockSettings.stubOnly()
.
-
-
-
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
java.lang.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
java.lang.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
boolean lenient
Mock will be lenient, seeMockSettings.lenient()
. For examples how to use 'Mock' annotation and parameters seeMock
.- Since:
- 2.23.3
- Default:
- false
-
-