Package org.junit.jupiter.api
Interface ClassOrderer
- All Known Implementing Classes:
ClassOrderer.ClassName,ClassOrderer.DisplayName,ClassOrderer.OrderAnnotation,ClassOrderer.Random
@API(status=EXPERIMENTAL,
since="5.8")
public interface ClassOrderer
ClassOrderer defines the API for ordering the top-level test
classes, without considering nested test classes.
In this context, the term "test class" refers to any class containing methods
annotated with @Test, @RepeatedTest, @ParameterizedTest,
@TestFactory, or @TestTemplate. @Nested test
classes cannot be ordered by a ClassOrderer.
Built-in Implementations
JUnit Jupiter provides the following built-in ClassOrderer
implementations.
- Since:
- 5.8
- See Also:
ClassOrdererContext,orderClasses(ClassOrdererContext)
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classClassOrderer.ClassNameClassOrdererthat sorts classes alphanumerically based on their fully qualified names usingString.compareTo(String).static classClassOrderer.DisplayNameClassOrdererthat sorts classes alphanumerically based on their display names usingString.compareTo(String)static classClassOrderer.OrderAnnotationClassOrdererthat sorts classes based on the@Orderannotation.static classClassOrderer.RandomClassOrdererthat orders classes pseudo-randomly. -
Method Summary
Modifier and Type Method Description voidorderClasses(ClassOrdererContext context)Order the classes encapsulated in the suppliedClassOrdererContext.
-
Method Details
-
orderClasses
Order the classes encapsulated in the suppliedClassOrdererContext.The classes to order or sort are made indirectly available via
ClassOrdererContext.getClassDescriptors(). Since this method has avoidreturn type, the list of class descriptors must be modified directly.For example, a simplified implementation of the
ClassOrderer.RandomClassOrderermight look like the following.public void orderClasses(ClassOrdererContext context) { Collections.shuffle(context.getClassDescriptors()); }- Parameters:
context- theClassOrdererContextcontaining the class descriptors to order; nevernull
-