- All Known Implementing Classes:
DisplayNameGenerator.IndicativeSentences,DisplayNameGenerator.ReplaceUnderscores,DisplayNameGenerator.Simple,DisplayNameGenerator.Standard
DisplayNameGenerator defines the SPI for generating display names
programmatically.
Display names are typically used for test reporting in IDEs and build tools and may contain spaces, special characters, and even emoji.
Concrete implementations must have a default constructor.
Built-in Implementations
- Since:
- 5.4
- See Also:
@DisplayName,@DisplayNameGeneration
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classDisplayNameGeneratorthat generates complete sentences.static classDisplayNameGeneratorthat replaces underscores with spaces.static classSimpleDisplayNameGeneratorthat removes trailing parentheses for methods with no parameters.static classStandardDisplayNameGenerator. -
Method Summary
Modifier and TypeMethodDescriptiongenerateDisplayNameForClass(Class<?> testClass)Generate a display name for the given top-level orstaticnested test class.generateDisplayNameForMethod(Class<?> testClass, Method testMethod)Generate a display name for the given method.generateDisplayNameForNestedClass(Class<?> nestedClass)Generate a display name for the given@Nestedinner test class.static DisplayNameGeneratorgetDisplayNameGenerator(Class<?> generatorClass)Return theDisplayNameGeneratorinstance corresponding to the givenClass.static StringparameterTypesAsString(Method method)Generate a string representation of the formal parameters of the supplied method, consisting of the simple names of the parameter types, separated by commas, and enclosed in parentheses.
-
Method Details
-
generateDisplayNameForClass
Generate a display name for the given top-level orstaticnested test class.- Parameters:
testClass- the class to generate a name for; nevernull- Returns:
- the display name for the class; never
nullor blank
-
generateDisplayNameForNestedClass
Generate a display name for the given@Nestedinner test class.- Parameters:
nestedClass- the class to generate a name for; nevernull- Returns:
- the display name for the nested class; never
nullor blank
-
generateDisplayNameForMethod
Generate a display name for the given method.- Parameters:
testClass- the class the test method is invoked on; nevernulltestMethod- method to generate a display name for; nevernull- Returns:
- the display name for the test; never
nullor blank - Implementation Note:
- The class instance supplied as
testClassmay differ from the class returned bytestMethod.getDeclaringClass()— for example, when a test method is inherited from a superclass.
-
parameterTypesAsString
Generate a string representation of the formal parameters of the supplied method, consisting of the simple names of the parameter types, separated by commas, and enclosed in parentheses.- Parameters:
method- the method from to extract the parameter types from; nevernull- Returns:
- a string representation of all parameter types of the supplied
method or
"()"if the method declares no parameters
-
getDisplayNameGenerator
Return theDisplayNameGeneratorinstance corresponding to the givenClass.- Parameters:
generatorClass- the generator'sClass; nevernull, has to be aDisplayNameGeneratorimplementation- Returns:
- a
DisplayNameGeneratorimplementation instance
-