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:
ResourceLockAware, TestClassAware, Validatable, 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 classes/interfaces inherited from class JupiterTestDescriptor
JupiterTestDescriptor.ExceptionHandlerInvoker<E>Nested classes/interfaces inherited from interface Node
Node.DynamicTestExecutor, Node.ExecutionMode, Node.Invocation<C>, Node.SkipResultNested classes/interfaces inherited from interface TestDescriptor
TestDescriptor.Type, TestDescriptor.Visitor -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method, Void> private static final InterceptingExecutableInvokerprivate final InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method, Void> static final StringFields inherited from class JupiterTestDescriptor
configurationFields inherited from class AbstractTestDescriptor
children -
Constructor Summary
ConstructorsConstructorDescriptionTestMethodTestDescriptor(UniqueId uniqueId, Class<?> testClass, Method testMethod, Supplier<List<Class<?>>> enclosingInstanceTypes, JupiterConfiguration configuration) TestMethodTestDescriptor(UniqueId uniqueId, String displayName, 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 TypeMethodDescriptionvoidcleanUp(JupiterEngineExecutionContext context) Clean up the suppliedcontextafter execution.execute(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) Execute the behavior of this node.getType()Determine theTestDescriptor.Typeof this descriptor.private voidprivate voidinvokeAfterEachExecutionExceptionHandlers(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) private voidprivate voidprivate voidprivate voidinvokeBeforeEachExecutionExceptionHandlers(org.junit.jupiter.api.extension.ExtensionContext context, ExtensionRegistry registry, Throwable throwable) private voidprivate voidprivate voidinvokeTestExecutionExceptionHandlers(ExtensionRegistry registry, org.junit.jupiter.api.extension.ExtensionContext context, Throwable throwable) private voidprotected voidinvokeTestMethod(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) private booleanvoidnodeFinished(JupiterEngineExecutionContext context, TestDescriptor descriptor, TestExecutionResult result) InvoketestSuccessful(),testAborted(), ortestFailed()on each registeredTestWatcheraccording to the status of the suppliedTestExecutionResult, in reverse registration order.protected MutableExtensionRegistryprepare(JupiterEngineExecutionContext context) Must be overridden and return a new context with a newExtensionContextso cleanUp() does not accidentally close the parent context.protected voidprepareExtensionContext(org.junit.jupiter.api.extension.ExtensionContext extensionContext) protected TestMethodTestDescriptorwithUniqueId(UnaryOperator<UniqueId> uniqueIdTransformer) Returns shallow copy (without children) of this descriptor with the supplied unique ID.Methods inherited from class MethodBasedTestDescriptor
getEnclosingTestClasses, getExclusiveResourceCollector, getExplicitExecutionMode, getLegacyReportingName, getResourceLocksProviderEvaluator, getTags, getTestClass, getTestMethod, invokeTestWatchers, nodeSkipped, validateMethods inherited from class JupiterTestDescriptor
copyIncludingDescendants, getDefaultChildExecutionMode, getExclusiveResources, getExecutionMode, getExecutionModeFromAnnotation, getTags, invokeExecutionExceptionHandlers, shouldBeSkipped, toExecutionModeMethods inherited from class AbstractTestDescriptor
addChild, equals, findByUniqueId, getChildren, getDisplayName, getParent, getSource, getUniqueId, hashCode, orderChildren, removeChild, removeFromHierarchy, setParent, toStringMethods inherited from interface ResourceLockAware
determineExclusiveResources, determineOwnExclusiveResourcesMethods inherited from interface TestDescriptor
accept, addChild, findByUniqueId, getAncestors, getChildren, getDescendants, getDisplayName, getParent, getSource, getUniqueId, isContainer, isRoot, isTest, mayRegisterTests, orderChildren, prune, removeChild, removeFromHierarchy, setParent
-
Field Details
-
SEGMENT_TYPE
- See Also:
-
executableInvoker
-
defaultInterceptorCall
private static final InterceptingExecutableInvoker.ReflectiveInterceptorCall<Method,Void> defaultInterceptorCall -
interceptorCall
-
-
Constructor Details
-
TestMethodTestDescriptor
-
TestMethodTestDescriptor
TestMethodTestDescriptor(UniqueId uniqueId, String displayName, 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
-
withUniqueId
Description copied from class:JupiterTestDescriptorReturns shallow copy (without children) of this descriptor with the supplied unique ID.- Specified by:
withUniqueIdin classJupiterTestDescriptor- Returns:
- shallow copy (without children) of this descriptor with the supplied unique ID
-
getType
Description copied from interface:TestDescriptorDetermine theTestDescriptor.Typeof this descriptor.- Returns:
- the descriptor type; never
null. - See Also:
-
prepare
Description copied from class:JupiterTestDescriptorMust be overridden and return a new context with a newExtensionContextso cleanUp() does not accidentally close the parent context.- Specified by:
preparein interfaceNode<JupiterEngineExecutionContext>- Specified by:
preparein classJupiterTestDescriptor- See Also:
-
prepareExtensionContext
protected void prepareExtensionContext(org.junit.jupiter.api.extension.ExtensionContext extensionContext) -
populateNewExtensionRegistry
protected MutableExtensionRegistry populateNewExtensionRegistry(JupiterEngineExecutionContext context) -
execute
public JupiterEngineExecutionContext execute(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) Description copied from interface:NodeExecute the behavior of this node.Containers typically do not implement this method since the
HierarchicalTestEnginehandles execution of their children.The supplied
dynamicTestExecutormay be used to submit additional dynamic tests for immediate execution.The default implementation returns the supplied
contextunmodified.- 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:NodeClean up the suppliedcontextafter execution.The default implementation does nothing.
- Specified by:
cleanUpin interfaceNode<JupiterEngineExecutionContext>- Overrides:
cleanUpin 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
-
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
-
nodeFinished
public void nodeFinished(JupiterEngineExecutionContext context, TestDescriptor descriptor, TestExecutionResult result) InvoketestSuccessful(),testAborted(), ortestFailed()on each registeredTestWatcheraccording 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
-