Class TestTemplateTestDescriptor
- 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.TestTemplateTestDescriptor
-
- All Implemented Interfaces:
Filterable,Node<JupiterEngineExecutionContext>,TestDescriptor
@API(status=INTERNAL, since="5.0") public class TestTemplateTestDescriptor extends MethodBasedTestDescriptor implements FilterableTestDescriptorfor@TestTemplatemethods.- Since:
- 5.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
JupiterTestDescriptor.ExceptionHandlerInvoker<E extends 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
Fields Modifier and Type Field Description private DynamicDescendantFilterdynamicDescendantFilterstatic java.lang.StringSEGMENT_TYPE-
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
Constructors Constructor Description TestTemplateTestDescriptor(UniqueId uniqueId, java.lang.Class<?> testClass, java.lang.reflect.Method templateMethod, JupiterConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.Optional<TestDescriptor>createInvocationTestDescriptor(TestTemplateInvocationContext invocationContext, int index)JupiterEngineExecutionContextexecute(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor)Execute the behavior of this node.private voidexecute(Node.DynamicTestExecutor dynamicTestExecutor, TestDescriptor testDescriptor)DynamicDescendantFiltergetDynamicDescendantFilter()TestDescriptor.TypegetType()Determine theTestDescriptor.Typeof this descriptor.booleanmayRegisterTests()Determine if this descriptor may register dynamic tests during execution.JupiterEngineExecutionContextprepare(JupiterEngineExecutionContext context)Must be overridden and return a new context so cleanUp() does not accidentally close the parent context.private java.util.List<TestTemplateInvocationContextProvider>validateProviders(ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)private voidvalidateWasAtLeastInvokedOnce(int invocationIndex, java.util.List<TestTemplateInvocationContextProvider> providers)-
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
cleanUp, 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, nodeFinished
-
Methods inherited from interface org.junit.platform.engine.TestDescriptor
accept, getDescendants, isContainer, isRoot, isTest, prune
-
-
-
-
Field Detail
-
SEGMENT_TYPE
public static final java.lang.String SEGMENT_TYPE
- See Also:
- Constant Field Values
-
dynamicDescendantFilter
private final DynamicDescendantFilter dynamicDescendantFilter
-
-
Constructor Detail
-
TestTemplateTestDescriptor
public TestTemplateTestDescriptor(UniqueId uniqueId, java.lang.Class<?> testClass, java.lang.reflect.Method templateMethod, JupiterConfiguration configuration)
-
-
Method Detail
-
getDynamicDescendantFilter
public DynamicDescendantFilter getDynamicDescendantFilter()
- Specified by:
getDynamicDescendantFilterin interfaceFilterable
-
getType
public TestDescriptor.Type getType()
Description copied from interface:TestDescriptorDetermine theTestDescriptor.Typeof this descriptor.- Specified by:
getTypein interfaceTestDescriptor- Returns:
- the descriptor type; never
null. - See Also:
TestDescriptor.isContainer(),TestDescriptor.isTest()
-
mayRegisterTests
public boolean mayRegisterTests()
Description copied from interface:TestDescriptorDetermine if this descriptor may register dynamic tests during execution.The default implementation assumes tests are usually known during discovery and thus returns
false.- Specified by:
mayRegisterTestsin interfaceTestDescriptor
-
prepare
public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) throws java.lang.Exception
Description copied from class:JupiterTestDescriptorMust be overridden and return a new context so cleanUp() does not accidentally close the parent context.- Specified by:
preparein interfaceNode<JupiterEngineExecutionContext>- Specified by:
preparein classJupiterTestDescriptor- Throws:
java.lang.Exception- See Also:
Node.cleanUp(EngineExecutionContext)
-
execute
public JupiterEngineExecutionContext execute(JupiterEngineExecutionContext context, Node.DynamicTestExecutor dynamicTestExecutor) throws java.lang.Exception
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.- Specified by:
executein interfaceNode<JupiterEngineExecutionContext>- 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
- Throws:
java.lang.Exception- See Also:
Node.before(C),Node.after(C)
-
validateProviders
private java.util.List<TestTemplateInvocationContextProvider> validateProviders(ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)
-
createInvocationTestDescriptor
private java.util.Optional<TestDescriptor> createInvocationTestDescriptor(TestTemplateInvocationContext invocationContext, int index)
-
execute
private void execute(Node.DynamicTestExecutor dynamicTestExecutor, TestDescriptor testDescriptor)
-
validateWasAtLeastInvokedOnce
private void validateWasAtLeastInvokedOnce(int invocationIndex, java.util.List<TestTemplateInvocationContextProvider> providers)
-
-