Package org.mockito
Class MockitoAnnotations
java.lang.Object
org.mockito.MockitoAnnotations
MockitoAnnotations.initMocks(this); initializes fields annotated with Mockito annotations.
- Allows shorthand creation of objects required for testing.
- Minimizes repetitive mock creation code.
- Makes the test class more readable.
- Makes the verification error easier to read because field name is used to identify the mock.
public class ArticleManagerTest extends SampleBaseTestCase {
@Mock private ArticleCalculator calculator;
@Mock private ArticleDatabase database;
@Mock private UserProvider userProvider;
private ArticleManager manager;
@Before public void setup() {
manager = new ArticleManager(userProvider, database, calculator);
}
}
public class SampleBaseTestCase {
@Before public void initMocks() {
MockitoAnnotations.initMocks(this);
}
}
Read also about other annotations @Spy
, @Captor
, @InjectMocks
MockitoAnnotations.initMocks(this)
method has to called to initialize annotated fields.
In above example, initMocks()
is called in @Before (JUnit4) method of test's base class.
For JUnit3 initMocks()
can go to setup()
method of a base class.
You can also put initMocks() in your JUnit runner (@RunWith) or use built-in runner: MockitoJUnitRunner
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
MockitoAnnotations
public MockitoAnnotations()
-
-
Method Details
-
initMocks
Initializes objects annotated with Mockito annotations for given testClass: @Mock
, @Spy
, @Captor
, @InjectMocks
See examples in javadoc for
MockitoAnnotations
class.
-