Class TestIdentifier

  • All Implemented Interfaces:
    java.io.Serializable

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

      • serialPersistentFields

        private static final java.io.ObjectStreamField[] serialPersistentFields
      • displayName

        private java.lang.String displayName
      • legacyReportingName

        private java.lang.String legacyReportingName
      • tags

        private java.util.Set<TestTag> tags
    • Method Detail

      • copyOf

        private java.util.Set<TestTag> copyOf​(java.util.Set<TestTag> tags)
      • getUniqueId

        public java.lang.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 java.util.Optional<java.lang.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 java.util.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 java.lang.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:
        getSource(), TestDescriptor.getDisplayName()
      • getLegacyReportingName

        public java.lang.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:
        TestDescriptor.getLegacyReportingName(), org.junit.platform.reporting.legacy.LegacyReportingUtils
      • 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:
        TestDescriptor.Type.isTest()
      • 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:
        TestDescriptor.Type.isContainer()
      • getSource

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

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

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream s)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readObject

        private void readObject​(java.io.ObjectInputStream s)
                         throws java.lang.ClassNotFoundException,
                                java.io.IOException
        Throws:
        java.lang.ClassNotFoundException
        java.io.IOException