Package org.springframework.test.context.junit4.statements

# Class RunAfterTestExecutionCallbacks

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

public class RunAfterTestExecutionCallbacks extends Statement
`RunAfterTestExecutionCallbacks` is a custom JUnit `Statement` which allows the Spring TestContext Framework to be plugged into the JUnit 4 execution chain by calling `afterTestExecution()` on the supplied `TestContextManager`.

NOTE: This class requires JUnit 4.9 or higher.

Since:
  5.0
Author:
  Sam Brannen
See Also:
  - `evaluate()`
  - `RunBeforeTestExecutionCallbacks`

## Constructor Summary

Constructors
Constructor
Description
`RunAfterTestExecutionCallbacks(Statement next, Object testInstance, Method testMethod, TestContextManager testContextManager)`
Construct a new `RunAfterTestExecutionCallbacks` statement.

## Method Summary

Modifier and Type
Method
Description
`void`
`evaluate()`
Evaluate the next `Statement` in the execution chain (typically an instance of `RunBeforeTestExecutionCallbacks`), catching any exceptions thrown, and then invoke `TestContextManager.afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable)` supplying 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 Details

### RunAfterTestExecutionCallbacks

public RunAfterTestExecutionCallbacks(Statement next, Object testInstance, Method testMethod, TestContextManager testContextManager)
Construct a new `RunAfterTestExecutionCallbacks` 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 `afterTestExecution()`

## Method Details

### evaluate

public void evaluate() throws Throwable
Evaluate the next `Statement` in the execution chain (typically an instance of `RunBeforeTestExecutionCallbacks`), catching any exceptions thrown, and then invoke `TestContextManager.afterTestExecution(java.lang.Object, java.lang.reflect.Method, java.lang.Throwable)` supplying the first caught exception (if any).

If the invocation of `afterTestExecution()` throws an exception, that exception will also be tracked. Multiple exceptions will be combined into a `MultipleFailureException`.

Specified by:
  `evaluate` in class `Statement`
Throws:
  `Throwable`