## org.springframework.test.context.junit4.statements
Class RunAfterTestMethodCallbacks

    java.lang.Object
      org.junit.runners.model.Statement
          org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks

    public class RunAfterTestMethodCallbacks

extends org.junit.runners.model.Statement

`RunAfterTestMethodCallbacks` is a custom JUnit 4.5+ `Statement` which allows the Spring TestContext Framework to be plugged into the JUnit execution chain by calling `afterTestMethod()` on the supplied `TestContextManager`.

Since:
  3.0
Author:
  Sam Brannen
See Also:
  `evaluate()`, `RunBeforeTestMethodCallbacks`

Constructor Summary
`RunAfterTestMethodCallbacks(org.junit.runners.model.Statement next, Object testInstance, Method testMethod, TestContextManager testContextManager)` Constructs a new `RunAfterTestMethodCallbacks` statement.

Method Summary
`void` `evaluate()` Invokes the next `Statement` in the execution chain (typically an instance of `RunAfters`), catching any exceptions thrown, and then calls `TestContextManager#afterTestMethod(Object, Method)` with the first caught exception (if any).

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### RunAfterTestMethodCallbacks

    public RunAfterTestMethodCallbacks(org.junit.runners.model.Statement next,
                                       Object testInstance,
                                       Method testMethod,
                                       TestContextManager testContextManager)

  Constructs a new `RunAfterTestMethodCallbacks` statement.

  Parameters:
    `next` - the next `Statement` in the execution chain
    `testInstance` - the current test instance (never `null`)
    `testMethod` - the test method which has just been executed on the test instance
    `testContextManager` - the TestContextManager upon which to call `afterTestMethod()`

Method Detail

### evaluate

    public void evaluate()
                  throws Throwable

  Invokes the next `Statement` in the execution chain (typically an instance of `RunAfters`), catching any exceptions thrown, and then calls `TestContextManager#afterTestMethod(Object, Method)` with the first caught exception (if any). If the call to `afterTestMethod()` throws an exception, it will also be tracked. Multiple exceptions will be combined into a `MultipleFailureException`.

  Specified by:
    `evaluate` in class `org.junit.runners.model.Statement`
  Throws:
    `Throwable`