MockitoAnnotations
Date: 2015-09-18

org.mockito

## Class MockitoAnnotations

- java.lang.Object
- - org.mockito.MockitoAnnotations

-     public class MockitoAnnotations
      extends java.lang.Object

  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
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `MockitoAnnotations.Mock` Deprecated.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MockitoAnnotations()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `initMocks(java.lang.Object testClass)` Initializes objects annotated with Mockito annotations for given testClass: @`Mock`, @`Spy`, @`Captor`, @`InjectMocks`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MockitoAnnotations

          public MockitoAnnotations()

  - ### Method Detail

    - #### initMocks

          public static void initMocks(java.lang.Object testClass)

      Initializes objects annotated with Mockito annotations for given testClass: @`Mock`, @`Spy`, @`Captor`, @`InjectMocks`

      See examples in javadoc for `MockitoAnnotations` class.