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

java.lang.Object
  extended by org.junit.runners.model.Statement
      extended by 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