Class DisplayNameGenerator.IndicativeSentences

java.lang.Object
org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences
All Implemented Interfaces:
DisplayNameGenerator
Enclosing interface:
DisplayNameGenerator

@API(status=STABLE, since="5.10") public static class DisplayNameGenerator.IndicativeSentences extends Object implements DisplayNameGenerator
DisplayNameGenerator that generates complete sentences.

This generator generates display names that build up complete sentences by concatenating the names of the test and the enclosing classes. The sentence fragments are concatenated using a separator. The separator and the display name generator for individual sentence fragments can be configured via the @IndicativeSentencesGeneration annotation.

Since:
5.7
  • Field Details

  • Constructor Details

    • IndicativeSentences

      public IndicativeSentences()
  • Method Details

    • generateDisplayNameForClass

      public String generateDisplayNameForClass(Class<?> testClass)
      Description copied from interface: DisplayNameGenerator
      Generate a display name for the given top-level or static nested test class.

      If it returns null, the default display name generator will be used instead.

      Specified by:
      generateDisplayNameForClass in interface DisplayNameGenerator
      Parameters:
      testClass - the class to generate a name for; never null
      Returns:
      the display name for the class; never blank
    • generateDisplayNameForNestedClass

      public String generateDisplayNameForNestedClass(Class<?> nestedClass)
      Description copied from interface: DisplayNameGenerator
      Generate a display name for the given @Nested inner test class.

      If it returns null, the default display name generator will be used instead.

      Specified by:
      generateDisplayNameForNestedClass in interface DisplayNameGenerator
      Parameters:
      nestedClass - the class to generate a name for; never null
      Returns:
      the display name for the nested class; never blank
    • generateDisplayNameForMethod

      public String generateDisplayNameForMethod(Class<?> testClass, Method testMethod)
      Description copied from interface: DisplayNameGenerator
      Generate a display name for the given method.

      If it returns null, the default display name generator will be used instead.

      Specified by:
      generateDisplayNameForMethod in interface DisplayNameGenerator
      Parameters:
      testClass - the class the test method is invoked on; never null
      testMethod - method to generate a display name for; never null
      Returns:
      the display name for the test; never blank
    • getSentenceBeginning

      private String getSentenceBeginning(Class<?> testClass)
    • getFragmentSeparator

      private static String getFragmentSeparator(Class<?> testClass)
      Get the sentence fragment separator.

      If @IndicativeSentencesGeneration is present (searching enclosing classes if not found locally), the configured separator will be used. Otherwise, IndicativeSentencesGeneration.DEFAULT_SEPARATOR will be used.

      Parameters:
      testClass - the test class to search on for @IndicativeSentencesGeneration
      Returns:
      the sentence fragment separator
    • getGeneratorFor

      private static DisplayNameGenerator getGeneratorFor(Class<?> testClass)
      Get the display name generator to use for the supplied test class.

      If @IndicativeSentencesGeneration is present (searching enclosing classes if not found locally), the configured generator will be used. Otherwise, IndicativeSentencesGeneration.DEFAULT_GENERATOR will be used.

      Parameters:
      testClass - the test class to search on for @IndicativeSentencesGeneration
      Returns:
      the DisplayNameGenerator instance to use
    • findDisplayNameGeneration

      private static Optional<DisplayNameGeneration> findDisplayNameGeneration(Class<?> testClass)
      Find the first DisplayNameGeneration annotation that is either directly present, meta-present, or indirectly present on the supplied testClass or on an enclosing class.
      Parameters:
      testClass - the test class on which to find the annotation; never null
      Returns:
      an Optional containing the annotation, potentially empty if not found
    • findIndicativeSentencesGeneration

      private static Optional<IndicativeSentencesGeneration> findIndicativeSentencesGeneration(Class<?> testClass)
      Find the first IndicativeSentencesGeneration annotation that is either directly present, meta-present, or indirectly present on the supplied testClass or on an enclosing class.
      Parameters:
      testClass - the test class on which to find the annotation; never null
      Returns:
      an Optional containing the annotation, potentially empty if not found
    • not

      private static Predicate<Class<?>> not(Class<?> clazz)