Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## org.mockito
Annotation Type Mock

    @Target(value=FIELD)
    @Retention(value=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;

           private ArticleManager manager;

           @Before public void setup() {
               manager = new ArticleManager(userProvider, database, calculator, articleMonitor);
           }
       }

       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 JUnit3 `initMocks()` can go to `setup()` method of a base class. Instead you can also put initMocks() in your JUnit runner (@RunWith) or use the built-in `MockitoJUnitRunner`.

See Also:
  `Mockito.mock(Class)`, `Spy`, `InjectMocks`, `MockitoAnnotations.initMocks(Object)`, `MockitoJUnitRunner`

Optional Element Summary
`Answers` | `answer`
`java.lang.Class<?>[]` | `extraInterfaces`
`java.lang.String` | `name`

### answer

    public abstract Answers answer

  Default:
    org.mockito.Answers.RETURNS_DEFAULTS

### name

    public abstract java.lang.String name

  Default:
    ""

### extraInterfaces

    public abstract java.lang.Class<?>[] extraInterfaces

  Default:
    {}

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT