Class TestIdentifier

java.lang.Object
org.junit.platform.launcher.TestIdentifier
All Implemented Interfaces:
Serializable

@API(status=STABLE, since="1.0") public final class TestIdentifier extends Object implements Serializable
Immutable data transfer object that represents a test or container which is usually part of a TestPlan.
Since:
1.0
See Also:
  • Method Details

    • from

      @API(status=INTERNAL, since="1.0") public static TestIdentifier from(TestDescriptor testDescriptor)
      Factory for creating a new TestIdentifier from a TestDescriptor.
    • getUniqueId

      public String getUniqueId()
      Get the unique ID of the represented test or container as a String.

      Uniqueness must be guaranteed across an entire test plan, regardless of how many engines are used behind the scenes.

      Returns:
      the unique ID for this identifier; never null
    • getUniqueIdObject

      @API(status=STABLE, since="5.8") public UniqueId getUniqueIdObject()
      Get the unique ID of the represented test or container as a UniqueId.

      Uniqueness must be guaranteed across an entire test plan, regardless of how many engines are used behind the scenes.

      Returns:
      the unique ID for this identifier; never null
      Since:
      5.8
    • getParentId

      public Optional<String> getParentId()
      Get the unique ID of this identifier's parent as a String, if available.

      An identifier without a parent is called a root.

      Returns:
      a container for the unique ID for this identifier's parent; never null though potentially empty
    • getParentIdObject

      @API(status=STABLE, since="5.8") public Optional<UniqueId> getParentIdObject()
      Get the unique ID of this identifier's parent as a UniqueId, if available.

      An identifier without a parent is called a root.

      Returns:
      a container for the unique ID for this identifier's parent; never null though potentially empty
      Since:
      5.8
    • getDisplayName

      public String getDisplayName()
      Get the display name of the represented test or container.

      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.

      Returns:
      the display name for this identifier; never null or blank
      See Also:
    • getLegacyReportingName

      public String getLegacyReportingName()
      Get the name of this identifier 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.

      The default implementation delegates to getDisplayName().

      Returns:
      the legacy reporting name; never null or blank
      See Also:
    • getType

      public TestDescriptor.Type getType()
      Get the underlying descriptor type.
      Returns:
      the underlying descriptor type; never null
    • isTest

      public boolean isTest()
      Determine if this identifier represents a test.
      Returns:
      true if the underlying descriptor type represents a test, false otherwise
      See Also:
    • isContainer

      public boolean isContainer()
      Determine if this identifier represents a container.
      Returns:
      true if the underlying descriptor type represents a container, false otherwise
      See Also:
    • getSource

      public Optional<TestSource> getSource()
      Get the source of the represented test or container, if available.
      See Also:
    • getTags

      public Set<TestTag> getTags()
      Get the set of tags associated with the represented test or container.
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object