class TestRuleSupport extends java.lang.Object implements BeforeEachCallback, TestExecutionExceptionHandler, AfterEachCallback
| Modifier and Type | Field and Description |
|---|---|
private java.util.function.Function<TestRuleAnnotatedMember,AbstractTestRuleAdapter> |
adapterGenerator |
private static java.util.function.Consumer<java.util.List<TestRuleAnnotatedMember>> |
NO_OP |
private java.lang.Class<? extends org.junit.rules.TestRule> |
ruleType |
| Constructor and Description |
|---|
TestRuleSupport(java.util.function.Function<TestRuleAnnotatedMember,AbstractTestRuleAdapter> adapterGenerator,
java.lang.Class<? extends org.junit.rules.TestRule> ruleType) |
| Modifier and Type | Method and Description |
|---|---|
void |
afterEach(ExtensionContext context)
Callback that is invoked after each test has been invoked.
|
void |
beforeEach(ExtensionContext context)
Callback that is invoked before each test is invoked.
|
private java.util.List<java.lang.reflect.Field> |
findAnnotatedFields(java.lang.Object testInstance) |
private java.util.List<java.lang.reflect.Method> |
findAnnotatedMethods(java.lang.Object testInstance) |
private java.util.List<TestRuleAnnotatedMember> |
findRuleAnnotatedMembers(java.lang.Object testInstance) |
private java.util.List<TestRuleAnnotatedMember> |
getRuleAnnotatedMembers(ExtensionContext context) |
void |
handleTestExecutionException(ExtensionContext context,
java.lang.Throwable throwable)
Handle the supplied
throwable. |
private long |
invokeAppropriateMethodOnRuleAnnotatedMembers(ExtensionContext context,
java.util.function.Consumer<java.util.List<TestRuleAnnotatedMember>> ordering,
java.util.function.Consumer<GenericBeforeAndAfterAdvice> methodCaller) |
private static final java.util.function.Consumer<java.util.List<TestRuleAnnotatedMember>> NO_OP
private final java.lang.Class<? extends org.junit.rules.TestRule> ruleType
private final java.util.function.Function<TestRuleAnnotatedMember,AbstractTestRuleAdapter> adapterGenerator
TestRuleSupport(java.util.function.Function<TestRuleAnnotatedMember,AbstractTestRuleAdapter> adapterGenerator, java.lang.Class<? extends org.junit.rules.TestRule> ruleType)
private java.util.List<TestRuleAnnotatedMember> findRuleAnnotatedMembers(java.lang.Object testInstance)
BlockJUnit4ClassRunner.withRules(org.junit.runners.model.FrameworkMethod, java.lang.Object, org.junit.runners.model.Statement),
RunRulesprivate java.util.List<java.lang.reflect.Method> findAnnotatedMethods(java.lang.Object testInstance)
private java.util.List<java.lang.reflect.Field> findAnnotatedFields(java.lang.Object testInstance)
public void beforeEach(ExtensionContext context)
BeforeEachCallbackbeforeEach in interface BeforeEachCallbackcontext - the current extension context; never nullpublic void handleTestExecutionException(ExtensionContext context, java.lang.Throwable throwable) throws java.lang.Throwable
TestExecutionExceptionHandlerthrowable.
Implementors must perform one of the following.
throwable, thereby preventing propagation.throwable as is.throwable.If the supplied throwable is swallowed, subsequent
TestExecutionExceptionHandlers will not be invoked; otherwise,
the next registered TestExecutionExceptionHandler (if there is
one) will be invoked with any Throwable thrown by this handler.
Note that the execution
exception in the supplied ExtensionContext will not
contain the Throwable thrown during invocation of the corresponding
@Test method.
handleTestExecutionException in interface TestExecutionExceptionHandlercontext - the current extension context; never nullthrowable - the Throwable to handle; never nulljava.lang.Throwablepublic void afterEach(ExtensionContext context)
AfterEachCallbackafterEach in interface AfterEachCallbackcontext - the current extension context; never nullprivate long invokeAppropriateMethodOnRuleAnnotatedMembers(ExtensionContext context, java.util.function.Consumer<java.util.List<TestRuleAnnotatedMember>> ordering, java.util.function.Consumer<GenericBeforeAndAfterAdvice> methodCaller)
private java.util.List<TestRuleAnnotatedMember> getRuleAnnotatedMembers(ExtensionContext context)