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
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      static TestIdentifier from​(TestDescriptor testDescriptor)
      Factory for creating a new TestIdentifier from a TestDescriptor.
      java.lang.String getDisplayName​()
      Get the display name of the represented test or container.
      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.
      java.util.Optional<java.lang.String> getParentId​()
      Get the unique ID of this identifier's parent, if available.
      java.util.Optional<TestSource> getSource​()
      Get the source of the represented test or container, if available.
      java.util.Set<TestTag> getTags​()
      Get the set of tags associated with the represented test or container.
      TestDescriptor.Type getType​()
      Get the underlying descriptor type.
      java.lang.String getUniqueId​()
      Get the unique ID of the represented test or container.
      int hashCode​()  
      boolean isContainer​()
      Determine if this identifier represents a container.
      boolean isTest​()
      Determine if this identifier represents a test.
      java.lang.String toString​()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • getUniqueId

        public java.lang.String getUniqueId​()
        Get the unique ID of the represented test or container.

        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
      • getParentId

        public java.util.Optional<java.lang.String> getParentId​()
        Get the unique ID of this identifier's parent, 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
      • 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 simply delegates to getDisplayName().

        Returns:
        the legacy reporting name; never null or blank
        See Also:
        TestDescriptor.getLegacyReportingName(), 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