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

org.springframework.test.context

## Annotation Type TestExecutionListeners

-     @Documented
      @Inherited
      @Retention(value=RUNTIME)
      @Target(value=TYPE)
      public @interface TestExecutionListeners

  `TestExecutionListeners` defines class-level metadata for configuring which `TestExecutionListeners` should be registered with a `TestContextManager`. Typically, `&#064;TestExecutionListeners` will be used in conjunction with `@ContextConfiguration`.
  Since:
    2.5
  Author:
    Sam Brannen
  See Also:
    `TestExecutionListener`, `TestContextManager`, `ContextConfiguration`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `boolean` | `inheritListeners` Whether or not `TestExecutionListeners` from superclasses should be inherited.
    `Class<? extends TestExecutionListener>[]` | `listeners` The `TestExecutionListeners` to register with a `TestContextManager`.
    `Class<? extends TestExecutionListener>[]` | `value` Alias for `listeners`.

- - ### Element Detail

    - #### listeners

          public abstract Class<? extends TestExecutionListener>[] listeners

      The `TestExecutionListeners` to register with a `TestContextManager`.

      See Also:
        `DependencyInjectionTestExecutionListener`, `DirtiesContextTestExecutionListener`, `TransactionalTestExecutionListener`
      Default:
        {}

    - #### value

          public abstract Class<? extends TestExecutionListener>[] value

      Alias for `listeners`.
      Default:
        {}

    - #### inheritListeners

          public abstract boolean inheritListeners

      Whether or not `TestExecutionListeners` from superclasses should be inherited.

      The default value is `true`, which means that an annotated class will inherit the listeners defined by an annotated superclass. Specifically, the listeners for an annotated class will be appended to the list of listeners defined by an annotated superclass. Thus, subclasses have the option of extending the list of listeners. In the following example, `AbstractBaseTest` will be configured with `DependencyInjectionTestExecutionListener` and `DirtiesContextTestExecutionListener`; whereas, `TransactionalTest` will be configured with `DependencyInjectionTestExecutionListener`, `DirtiesContextTestExecutionListener`, and `TransactionalTestExecutionListener`, in that order.

           @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
              DirtiesContextTestExecutionListener.class })
           public abstract class AbstractBaseTest {
                  // ...
           }

           @TestExecutionListeners(TransactionalTestExecutionListener.class)
           public class TransactionalTest extends AbstractBaseTest {
                  // ...
           }

      If `inheritListeners` is set to `false`, the listeners for the annotated class will shadow and effectively replace any listeners defined by a superclass.

      Default:
        true