AbstractDependencyInjectionSpringContextTests (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.test

## Class AbstractDependencyInjectionSpringContextTests

- java.lang.Object
- - junit.framework.Assert
  - - junit.framework.TestCase
    - - org.springframework.test.ConditionalTestCase
      - - org.springframework.test.AbstractSpringContextTests
        - - org.springframework.test.AbstractSingleSpringContextTests
          - - org.springframework.test.AbstractDependencyInjectionSpringContextTests

- All Implemented Interfaces:
    junit.framework.Test
  Direct Known Subclasses:
    AbstractTransactionalSpringContextTests

  Deprecated.
  as of Spring 3.0, in favor of using the listener-based test context framework (`AbstractJUnit4SpringContextTests`)

      @Deprecated
      public abstract class AbstractDependencyInjectionSpringContextTests
      extends AbstractSingleSpringContextTests

  Convenient superclass for JUnit 3.8 based tests depending on a Spring context. The test instance itself is populated by Dependency Injection.

  Really for integration testing, not unit testing. You should not normally use the Spring container for unit tests: simply populate your POJOs in plain JUnit tests!

  This supports two modes of populating the test:

  - Via Setter Dependency Injection. Simply express dependencies on objects in the test fixture, and they will be satisfied by autowiring by type.
  - Via Field Injection. Declare protected variables of the required type which match named beans in the context. This is autowire by name, rather than type. This approach is based on an approach originated by Ara Abrahmian. Setter Dependency Injection is the default: set the `populateProtectedVariables` property to `true` in the constructor to switch on Field Injection.
  Since:
    1.1.1
  Author:
    Rod Johnson, Rob Harrop, Rick Evans, Sam Brannen
  See Also:
    `AbstractSingleSpringContextTests.setDirty()`, `AbstractSingleSpringContextTests.contextKey()`, `AbstractSpringContextTests.getContext(java.lang.Object)`, `AbstractSingleSpringContextTests.getConfigLocations()`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `AUTOWIRE_BY_NAME` Deprecated. Constant that indicates autowiring bean properties by name.
    `static int` | `AUTOWIRE_BY_TYPE` Deprecated. Constant that indicates autowiring bean properties by type.
    `static int` | `AUTOWIRE_NO` Deprecated. Constant that indicates no autowiring at all.

    - ### Fields inherited from class org.springframework.test.AbstractSingleSpringContextTests

      `applicationContext`

    - ### Fields inherited from class org.springframework.test.ConditionalTestCase

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractDependencyInjectionSpringContextTests()` Deprecated. Default constructor for AbstractDependencyInjectionSpringContextTests.
    `AbstractDependencyInjectionSpringContextTests(String name)` Deprecated. Constructor for AbstractDependencyInjectionSpringContextTests with a JUnit name.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAutowireMode()` Deprecated. Return the autowire mode for test properties set by Dependency Injection.
    `protected void` | `injectDependencies()` Deprecated. Inject dependencies into 'this' instance (that is, this test instance).
    `boolean` | `isDependencyCheck()` Deprecated. Return whether or not dependency checking should be performed for test properties set by Dependency Injection.
    `boolean` | `isPopulateProtectedVariables()` Deprecated. Return whether to populate protected variables of this test case.
    `protected void` | `prepareTestInstance()` Deprecated. Prepare this test instance, injecting dependencies into its protected fields and its bean properties.
    `void` | `setAutowireMode(int autowireMode)` Deprecated. Set the autowire mode for test properties set by Dependency Injection.
    `void` | `setDependencyCheck(boolean dependencyCheck)` Deprecated. Set whether or not dependency checking should be performed for test properties set by Dependency Injection.
    `void` | `setPopulateProtectedVariables(boolean populateFields)` Deprecated. Set whether to populate protected variables of this test case.

    - ### Methods inherited from class org.springframework.test.AbstractSingleSpringContextTests

      `contextKey, createApplicationContext, createBeanDefinitionReader, customizeBeanFactory, getApplicationContext, getConfigLocations, getConfigPath, getConfigPaths, getLoadCount, loadContext, loadContextLocations, onSetUp, onTearDown, prepareApplicationContext, setDirty, setUp, tearDown`

    - ### Methods inherited from class org.springframework.test.AbstractSpringContextTests

      `addContext, contextKeyString, getContext, hasCachedContext, isContextKeyEmpty, setDirty`

    - ### Methods inherited from class org.springframework.test.ConditionalTestCase

      `getDisabledTestCount, isDisabledInThisEnvironment, recordDisabled, runBare`

    - ### Methods inherited from class junit.framework.TestCase

      `countTestCases, createResult, getName, run, run, runTest, setName, toString`

    - ### Methods inherited from class junit.framework.Assert

      `assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format`

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

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

- - ### Field Detail

    - #### AUTOWIRE_NO

          public static final int AUTOWIRE_NO

      Deprecated.
      Constant that indicates no autowiring at all.
      See Also:
        `setAutowireMode(int)`, Constant Field Values

    - #### AUTOWIRE_BY_NAME

          public static final int AUTOWIRE_BY_NAME

      Deprecated.
      Constant that indicates autowiring bean properties by name.
      See Also:
        `setAutowireMode(int)`, Constant Field Values

    - #### AUTOWIRE_BY_TYPE

          public static final int AUTOWIRE_BY_TYPE

      Deprecated.
      Constant that indicates autowiring bean properties by type.
      See Also:
        `setAutowireMode(int)`, Constant Field Values

  - ### Constructor Detail

    - #### AbstractDependencyInjectionSpringContextTests

          public AbstractDependencyInjectionSpringContextTests()

      Deprecated.
      Default constructor for AbstractDependencyInjectionSpringContextTests.

    - #### AbstractDependencyInjectionSpringContextTests

          public AbstractDependencyInjectionSpringContextTests(String name)

      Deprecated.
      Constructor for AbstractDependencyInjectionSpringContextTests with a JUnit name.
      Parameters:
        `name` - the name of this text fixture

  - ### Method Detail

    - #### setPopulateProtectedVariables

          public final void setPopulateProtectedVariables(boolean populateFields)

      Deprecated.
      Set whether to populate protected variables of this test case. Default is `false`.

    - #### isPopulateProtectedVariables

          public final boolean isPopulateProtectedVariables()

      Deprecated.
      Return whether to populate protected variables of this test case.

    - #### setAutowireMode

          public final void setAutowireMode(int autowireMode)

      Deprecated.
      Set the autowire mode for test properties set by Dependency Injection.

      The default is `AUTOWIRE_BY_TYPE`. Can be set to `AUTOWIRE_BY_NAME` or `AUTOWIRE_NO` instead.

      See Also:
        `AUTOWIRE_BY_TYPE`, `AUTOWIRE_BY_NAME`, `AUTOWIRE_NO`

    - #### getAutowireMode

          public final int getAutowireMode()

      Deprecated.
      Return the autowire mode for test properties set by Dependency Injection.

    - #### setDependencyCheck

          public final void setDependencyCheck(boolean dependencyCheck)

      Deprecated.
      Set whether or not dependency checking should be performed for test properties set by Dependency Injection.

      The default is `true`, meaning that tests cannot be run unless all properties are populated.

    - #### isDependencyCheck

          public final boolean isDependencyCheck()

      Deprecated.
      Return whether or not dependency checking should be performed for test properties set by Dependency Injection.

    - #### prepareTestInstance

          protected void prepareTestInstance()
                                      throws Exception

      Deprecated.
      Prepare this test instance, injecting dependencies into its protected fields and its bean properties.

      Note: if the `ApplicationContext` for this test instance has not been configured (e.g., is `null`), dependency injection will naturally not be performed, but an informational message will be written to the log.

      Overrides:
        `prepareTestInstance` in class `AbstractSingleSpringContextTests`
      Throws:
        `Exception` - in case of preparation failure
      See Also:
        `injectDependencies()`

    - #### injectDependencies

          protected void injectDependencies()
                                     throws Exception

      Deprecated.
      Inject dependencies into 'this' instance (that is, this test instance).

      The default implementation populates protected variables if the `appropriate flag is set`, else uses autowiring if autowiring is switched on (which it is by default).

      Override this method if you need full control over how dependencies are injected into the test instance.

      Throws:
        `Exception` - in case of dependency injection failure
        `IllegalStateException` - if the `ApplicationContext` for this test instance has not been configured
      See Also:
        `populateProtectedVariables()`