Deprecated List
Date: 2015-09-18

# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Enums
- Deprecated Annotation Types
- Deprecated Methods
- Deprecated Constructors

- Deprecated Interfaces
  Interface and Description
  org.mockito.exceptions.PrintableInvocation
  org.mockito.ReturnValues Instead, please use `Answer` interface In rare cases your code might not compile with recent deprecation & changes. Very sorry for inconvenience but it had to be done in order to keep framework consistent. Why it is deprecated? ReturnValues is being replaced by Answer for better consistency & interoperability of the framework. Answer interface has been in Mockito for a while and it has the same responsibility as ReturnValues. There's no point in mainting exactly the same interfaces. Configures return values for an unstubbed invocation Can be used in `Mockito.mock(Class, ReturnValues)`

- Deprecated Classes
  Class and Description
  org.mockito.BDDMockito.BDDOngoingStubbingImpl not part of the public API, use `BDDMockito.BDDMyOngoingStubbing` instead.
  org.mockito.BDDMockito.BDDStubberImpl not part of the public API, use `BDDMockito.BDDStubber` instead.
  org.mockito.exceptions.Discrepancy
  org.mockito.exceptions.verification.junit.JUnitTool
  org.mockito.runners.MockitoJUnit44Runner
  org.mockito.junit.MockitoJUnitRule
  org.mockito.exceptions.Pluralizer
  org.mockito.stubbing.answers.ReturnsElementsOf Use `AdditionalAnswers.returnsElementsOf(java.util.Collection<?>)`

- Deprecated Enums
  Enum and Description
  org.mockito.internal.stubbing.defaultanswers.Answers - please use Answers from top Mockito package: `Answers` WARNING Those answers no longer are used by the framework!!! Please use `Answers` See `Mockito` for more information.

- Deprecated Annotation Types
  Annotation Type and Description
  org.mockito.MockitoAnnotations.Mock

- Deprecated Methods
  Method and Description
  org.mockito.verification.VerificationWithTimeout.atMost(int) Deprecated Validation with timeout combined with never simply does not make sense, as atMost() will typically immediately pass, and therefore not wait the timeout. The behaviour you may be looking for is actually provided by after().atMost(). To avoid compilation errors upon upgrade the method is deprecated and it throws a "friendly reminder" exception. In a future release we will remove timeout(x).atMost(y) and timeout(x).never() from the API. Do you want to find out more? See issue 235
  org.mockito.internal.configuration.InjectingAnnotationEngine.createMockFor(Annotation, Field)
  org.mockito.configuration.AnnotationEngine.createMockFor(Annotation, Field) Please use `AnnotationEngine.process(Class, Object)` method instead that is more robust Creates mock, ArgumentCaptor or wraps field instance in spy object. Only if of correct annotation type.
  org.mockito.configuration.DefaultMockitoConfiguration.getReturnValues()
  org.mockito.configuration.IMockitoConfiguration.getReturnValues() Please use `IMockitoConfiguration.getDefaultAnswer()` Steps: 1. Leave the implementation of getReturnValues() method empty - it's not going to be used anyway. 2. Implement getDefaultAnswer() instead. In rare cases your code might not compile with recent deprecation & changes. Very sorry for inconvenience but it had to be done in order to keep framework consistent. See javadoc `ReturnValues` for info why this method was deprecated Allows configuring the default return values of unstubbed invocations See javadoc for `IMockitoConfiguration`
  org.mockito.Mockito.mock(Class, ReturnValues) Please use mock(Foo.class, defaultAnswer);
  org.mockito.verification.VerificationWithTimeout.never() Validation with timeout combined with never simply does not make sense, as never() will typically immediately pass, and therefore not wait the timeout. The behaviour you may be looking for is actually provided by after().never(). To avoid compilation errors upon upgrade the method is deprecated and it throws a "friendly reminder" exception. In a future release we will remove timeout(x).atMost(y) and timeout(x).never() from the API. Do you want to find out more? See issue 235
  org.mockito.Mockito.stubVoid(T) Use `Mockito.doThrow(Throwable)` method for stubbing voids

- Deprecated Constructors
  Constructor and Description
  org.mockito.ArgumentCaptor() Please use factory method `ArgumentCaptor.forClass(Class)` to create captors This is required to avoid NullPointerExceptions when autoUnboxing primitive types. See issue 99. Example:
         ArgumentCaptor<Person> argument = ArgumentCaptor.forClass(Person.class);
         verify(mock).doSomething(argument.capture());
         assertEquals("John", argument.getValue().getName());
  org.mockito.junit.MockitoJUnitRule()
  org.mockito.junit.MockitoJUnitRule(Object)
  org.mockito.stubbing.answers.ReturnsElementsOf(Collection)