AbstractTestDescriptor, ClassTestDescriptor, EngineDescriptor, JupiterEngineDescriptor, JupiterTestDescriptor, NestedClassTestDescriptor, RunnerTestDescriptor, TestFactoryTestDescriptor, TestMethodTestDescriptor, TestTemplateInvocationTestDescriptor, TestTemplateTestDescriptor, VintageTestDescriptor@API(status=STABLE, since="1.0") public interface TestDescriptor
TestEngine.TestEngine| Modifier and Type | Interface | Description |
|---|---|---|
static class |
TestDescriptor.Type |
Supported types for
TestDescriptors. |
static interface |
TestDescriptor.Visitor |
Visitor for the tree-like
TestDescriptor structure. |
| Modifier and Type | Method | Description |
|---|---|---|
default void |
accept(TestDescriptor.Visitor visitor) |
Accept a visitor to the subtree starting with this descriptor.
|
void |
addChild(TestDescriptor descriptor) |
Add a child to this descriptor.
|
static boolean |
containsTests(TestDescriptor testDescriptor) |
Determine if the supplied descriptor or any of its descendants contains
any tests.
|
java.util.Optional<? extends TestDescriptor> |
findByUniqueId(UniqueId uniqueId) |
Find the descriptor with the supplied unique ID.
|
java.util.Set<? extends TestDescriptor> |
getChildren() |
Get the immutable set of children of this descriptor.
|
default java.util.Set<? extends TestDescriptor> |
getDescendants() |
Get the immutable set of all descendants of this descriptor.
|
java.lang.String |
getDisplayName() |
Get the display name for this descriptor.
|
default java.lang.String |
getLegacyReportingName() |
Get the name of this descriptor in a format that is suitable for legacy
reporting infrastructure — for example, for reporting systems built
on the Ant-based XML reporting format for JUnit 4.
|
java.util.Optional<TestDescriptor> |
getParent() |
Get the parent of this descriptor, if available.
|
java.util.Optional<TestSource> |
getSource() |
Get the source of the test or container described
by this descriptor, if available.
|
java.util.Set<TestTag> |
getTags() |
Get the set of tags associated with this descriptor.
|
TestDescriptor.Type |
getType() |
Determine the
TestDescriptor.Type of this descriptor. |
UniqueId |
getUniqueId() |
Get the unique identifier (UID) for this descriptor.
|
default boolean |
isContainer() |
Determine if this descriptor describes a container.
|
default boolean |
isRoot() |
Determine if this descriptor is a root descriptor.
|
default boolean |
isTest() |
Determine if this descriptor describes a test.
|
default boolean |
mayRegisterTests() |
Determine if this descriptor may register dynamic tests during execution.
|
default void |
prune() |
Remove this descriptor from the hierarchy unless it is a root or contains
tests.
|
void |
removeChild(TestDescriptor descriptor) |
Remove a child from this descriptor.
|
void |
removeFromHierarchy() |
Remove this non-root descriptor from its parent and remove all the
children from this descriptor.
|
void |
setParent(TestDescriptor parent) |
Set the parent of this descriptor.
|
UniqueId getUniqueId()
Uniqueness must be guaranteed across an entire test plan, regardless of how many engines are used behind the scenes.
UniqueId for this descriptor; never nulljava.lang.String getDisplayName()
A display name is a human-readable name for a test or
container that is typically used for test reporting in IDEs and build
tools. Display names may contain spaces, special characters, and emoji,
and the format may be customized by TestEngines or
potentially by end users as well. Consequently, display names should
never be parsed; rather, they should be used for display purposes only.
null or blankgetSource()default java.lang.String getLegacyReportingName()
The default implementation simply delegates to getDisplayName().
null or blankjava.util.Set<TestTag> getTags()
null
but potentially emptyTestTagjava.util.Optional<TestSource> getSource()
TestSourcejava.util.Optional<TestDescriptor> getParent()
void setParent(TestDescriptor parent)
parent - the new parent of this descriptor; may be null.java.util.Set<? extends TestDescriptor> getChildren()
null
nor mutable, but potentially emptygetDescendants()default java.util.Set<? extends TestDescriptor> getDescendants()
A descendant is a child of this descriptor or a child of one of its children, recursively.
getChildren()void addChild(TestDescriptor descriptor)
descriptor - the child to add to this descriptor; never nullvoid removeChild(TestDescriptor descriptor)
descriptor - the child to remove from this descriptor; never
nullvoid removeFromHierarchy()
If this method is invoked on a root descriptor,
this method must throw a JUnitException explaining that a root cannot be removed from the
hierarchy.
default boolean isRoot()
A root descriptor is a descriptor without a parent.
TestDescriptor.Type getType()
TestDescriptor.Type of this descriptor.null.isContainer(),
isTest()default boolean isContainer()
The default implementation delegates to TestDescriptor.Type.isContainer().
default boolean isTest()
The default implementation delegates to TestDescriptor.Type.isTest().
default boolean mayRegisterTests()
The default implementation assumes tests are usually known during
discovery and thus returns false.
static boolean containsTests(TestDescriptor testDescriptor)
default void prune()
A concrete TestEngine may override this method in order to
implement a different algorithm or to skip pruning altogether.
java.util.Optional<? extends TestDescriptor> findByUniqueId(UniqueId uniqueId)
The search algorithm begins with this descriptor and then searches through its descendants.
uniqueId - the UniqueId to search for; never nulldefault void accept(TestDescriptor.Visitor visitor)
visitor - the Visitor to accept; never null