Class TestMethodTestDescriptor
java.lang.Object
org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor
org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor
- All Implemented Interfaces:
Node<JupiterEngineExecutionContext>
,TestDescriptor
- Direct Known Subclasses:
TestFactoryTestDescriptor
,TestTemplateInvocationTestDescriptor
@API(status=INTERNAL,
since="5.0")
public class TestMethodTestDescriptor
extends MethodBasedTestDescriptor
TestDescriptor
for @Test
methods.
Default Display Names
The default display name for a test method is the name of the method
concatenated with a comma-separated list of parameter types in parentheses.
The names of parameter types are retrieved using Class.getSimpleName()
.
For example, the default display name for the following test method is
testUser(TestInfo, User)
.
@Test void testUser(TestInfo testInfo, @Mock User user) { ... }
- Since:
- 5.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interface
TestMethodTestDescriptor.CallbackInvoker<T extends org.junit.jupiter.api.extension.Extension>
Nested classes/interfaces inherited from class org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
JupiterTestDescriptor.ExceptionHandlerInvoker<E extends org.junit.jupiter.api.extension.Extension>
Nested classes/interfaces inherited from interface org.junit.platform.engine.support.hierarchical.Node
Node.DynamicTestExecutor, Node.ExecutionMode, Node.Invocation<C extends EngineExecutionContext>, Node.SkipResult
Nested classes/interfaces inherited from interface org.junit.platform.engine.TestDescriptor
TestDescriptor.Type, TestDescriptor.Visitor
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final InterceptingExecutableInvoker.ReflectiveInterceptorCall
<Method, Void> private static final InterceptingExecutableInvoker
private final InterceptingExecutableInvoker.ReflectiveInterceptorCall
<Method, Void> static final String
Fields inherited from class org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
configuration
Fields inherited from class org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
children
-
Constructor Summary
ConstructorsConstructorDescriptionTestMethodTestDescriptor
(UniqueId uniqueId, Class<?> testClass, Method testMethod, JupiterConfiguration configuration) TestMethodTestDescriptor
(UniqueId uniqueId, String displayName, Class<?> testClass, Method testMethod, JupiterConfiguration configuration, InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method, Void> interceptorCall) -
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanUp
(JupiterEngineExecutionContext context) Clean up the suppliedcontext
after execution.execute
(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) Execute the behavior of this node.getType()
Determine theTestDescriptor.Type
of this descriptor.private void
private void
invokeAfterEachExecutionExceptionHandlers
(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) private void
private void
private <T extends org.junit.jupiter.api.extension.Extension>
voidinvokeAllAfterMethodsOrCallbacks
(Class<T> type, JupiterEngineExecutionContext context, TestMethodTestDescriptor.CallbackInvoker<T> callbackInvoker) private void
private void
invokeBeforeEachExecutionExceptionHandlers
(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) private void
private <T extends org.junit.jupiter.api.extension.Extension>
voidinvokeBeforeMethodsOrCallbacksUntilExceptionOccurs
(Class<T> type, JupiterEngineExecutionContext context, TestMethodTestDescriptor.CallbackInvoker<T> callbackInvoker) private void
private void
invokeTestExecutionExceptionHandlers
(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) private void
protected void
invokeTestMethod
(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) private boolean
void
nodeFinished
(JupiterEngineExecutionContext context, TestDescriptor descriptor, TestExecutionResult result) InvoketestSuccessful()
,testAborted()
, ortestFailed()
on each registeredTestWatcher
according to the status of the suppliedTestExecutionResult
, in reverse registration order.protected MutableExtensionRegistry
prepare
(JupiterEngineExecutionContext context) Must be overridden and return a new context so cleanUp() does not accidentally close the parent context.Methods inherited from class org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor
getExclusiveResources, getExplicitExecutionMode, getLegacyReportingName, getTags, getTestClass, getTestMethod, invokeTestWatchers, nodeSkipped
Methods inherited from class org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
getDefaultChildExecutionMode, getExclusiveResourcesFromAnnotation, getExecutionMode, getExecutionModeFromAnnotation, getTags, invokeExecutionExceptionHandlers, shouldBeSkipped, toExecutionMode
Methods inherited from class org.junit.platform.engine.support.descriptor.AbstractTestDescriptor
addChild, equals, findByUniqueId, getChildren, getDisplayName, getParent, getSource, getUniqueId, hashCode, removeChild, removeFromHierarchy, setParent, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.junit.platform.engine.support.hierarchical.Node
after, around, before
Methods inherited from interface org.junit.platform.engine.TestDescriptor
accept, getAncestors, getDescendants, isContainer, isRoot, isTest, mayRegisterTests, prune
-
Field Details
-
SEGMENT_TYPE
- See Also:
-
executableInvoker
-
defaultInterceptorCall
private static final InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method,Void> defaultInterceptorCall -
interceptorCall
-
-
Constructor Details
-
TestMethodTestDescriptor
public TestMethodTestDescriptor(UniqueId uniqueId, Class<?> testClass, Method testMethod, JupiterConfiguration configuration) -
TestMethodTestDescriptor
TestMethodTestDescriptor(UniqueId uniqueId, String displayName, Class<?> testClass, Method testMethod, JupiterConfiguration configuration, InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method, Void> interceptorCall)
-
-
Method Details
-
getType
Description copied from interface:TestDescriptor
Determine theTestDescriptor.Type
of this descriptor.- Returns:
- the descriptor type; never
null
. - See Also:
-
prepare
Description copied from class:JupiterTestDescriptor
Must be overridden and return a new context so cleanUp() does not accidentally close the parent context.- Specified by:
prepare
in interfaceNode<JupiterEngineExecutionContext>
- Specified by:
prepare
in classJupiterTestDescriptor
- See Also:
-
populateNewExtensionRegistry
protected MutableExtensionRegistry populateNewExtensionRegistry(JupiterEngineExecutionContext context) -
execute
public JupiterEngineExecutionContext execute(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) Description copied from interface:Node
Execute the behavior of this node.Containers typically do not implement this method since the
HierarchicalTestEngine
handles execution of their children.The supplied
dynamicTestExecutor
may be used to submit additional dynamic tests for immediate execution.The default implementation returns the supplied
context
unmodified.- Parameters:
context
- the context to execute indynamicTestExecutor
- the executor to submit dynamic tests to- Returns:
- the new context to be used for children of this node and for the after behavior of the parent of this node, if any
- See Also:
-
cleanUp
Description copied from interface:Node
Clean up the suppliedcontext
after execution.The default implementation does nothing.
- Specified by:
cleanUp
in interfaceNode<JupiterEngineExecutionContext>
- Overrides:
cleanUp
in classJupiterTestDescriptor
- Parameters:
context
- the context to execute in- Throws:
Exception
- See Also:
-
isPerMethodLifecycle
-
invokeBeforeEachCallbacks
-
invokeBeforeEachMethods
-
invokeBeforeEachExecutionExceptionHandlers
private void invokeBeforeEachExecutionExceptionHandlers(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) -
invokeBeforeTestExecutionCallbacks
-
invokeBeforeMethodsOrCallbacksUntilExceptionOccurs
private <T extends org.junit.jupiter.api.extension.Extension> void invokeBeforeMethodsOrCallbacksUntilExceptionOccurs(Class<T> type, JupiterEngineExecutionContext context, TestMethodTestDescriptor.CallbackInvoker<T> callbackInvoker) -
invokeTestMethod
protected void invokeTestMethod(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) -
invokeTestExecutionExceptionHandlers
private void invokeTestExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) -
invokeAfterTestExecutionCallbacks
-
invokeAfterEachMethods
-
invokeAfterEachExecutionExceptionHandlers
private void invokeAfterEachExecutionExceptionHandlers(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) -
invokeAfterEachCallbacks
-
invokeTestInstancePreDestroyCallbacks
-
invokeAllAfterMethodsOrCallbacks
private <T extends org.junit.jupiter.api.extension.Extension> void invokeAllAfterMethodsOrCallbacks(Class<T> type, JupiterEngineExecutionContext context, TestMethodTestDescriptor.CallbackInvoker<T> callbackInvoker) -
nodeFinished
public void nodeFinished(JupiterEngineExecutionContext context, TestDescriptor descriptor, TestExecutionResult result) InvoketestSuccessful()
,testAborted()
, ortestFailed()
on each registeredTestWatcher
according to the status of the suppliedTestExecutionResult
, in reverse registration order.- Parameters:
context
- the execution contextdescriptor
- the test descriptor that was executedresult
- the result of the execution- Since:
- 5.4
-