All Classes and Interfaces
Class
Description
Abstract base implementation of 
TestDescriptor that may be used by
 custom TestEngines.@AfterAll is used to signal that the annotated method should be
 executed after all tests in the current test class.AfterAllCallback defines the API for Extensions
 that wish to provide additional behavior to test containers once
 after all tests in the container have been executed.AfterClassTemplateInvocationCallback defines the API for
 Extensions that wish to provide additional behavior
 once before each invocation of a
 @ClassTemplate.@AfterEach is used to signal that the annotated method should be
 executed after each @Test,
 @RepeatedTest, @ParameterizedTest, @TestFactory,
 and @TestTemplate method in the current test class.AfterEachCallback defines the API for Extensions
 that wish to provide additional behavior to tests after an individual test
 and any user-defined teardown methods (e.g.,
 @AfterEach methods) for that test
 have been executed.Functional interface for registering an 
@AfterEach method
 as a pseudo-extension.@AfterParameterizedClassInvocation is used to signal that the
 annotated method should be executed before each
 invocation of the current @ParameterizedClass.@AfterSuite is used to signal that the annotated method should be
 executed after all tests in the current test suite.AfterTestExecutionCallback defines the API for Extensions that wish to provide additional behavior to tests
 immediately after an individual test has been executed but
 before any user-defined teardown methods (e.g.,
 @AfterEach methods) have been executed
 for that test.@AggregateWith is an annotation that allows one to specify an
 ArgumentsAggregator.AnnotatedElementContext encapsulates the context in which an
 AnnotatedElement is declared.AnnotationBasedArgumentConverter is an abstract base class for
 ArgumentConverter implementations that also need to consume an
 annotation in order to perform the conversion.AnnotationBasedArgumentsProvider is an abstract base class for
 ArgumentsProvider implementations that also need to consume an
 annotation in order to provide the arguments.AnnotationConsumer is a functional
 interface for consuming annotations.AnnotationConsumerInitializer is an internal helper class for
 initializing AnnotationConsumers.AnnotationSupport provides static utility methods for common tasks
 regarding annotations — for example, checking if a class, method, or
 field is annotated with a particular annotation; finding annotations on a
 given class, method, or field; finding fields or methods annotated with
 a particular annotation, etc.Collection of utilities for working with annotations.
ArgumentAccessException is an exception thrown by an
 ArgumentsAccessor if an error occurs while accessing
 or converting an argument.ArgumentConversionException is an exception that can occur when an
 object is converted to another object by an implementation of an
 ArgumentConverter.ArgumentConverter is an abstraction that allows an input object to
 be converted to an instance of a different class.Enumeration of argument count validation modes for
 
@ParameterizedClass and
 @ParameterizedTest.Arguments is an abstraction that provides access to an array of
 objects to be used for invoking a @ParameterizedTest method.ArgumentsAccessor defines the public API for accessing arguments provided
 by an ArgumentsProvider
 for a single invocation of a
 @ParameterizedTest method.ArgumentsAggregationException is an exception thrown by an
 ArgumentsAggregator when an error occurs while aggregating
 arguments.ArgumentsAggregator is an abstraction for the aggregation of arguments
 provided by an ArgumentsProvider for a single invocation of a
 @ParameterizedTest method
 into a single object.An 
ArgumentsProvider is responsible for
 providing
 a stream of arguments to be passed to a
 @ParameterizedClass or
 @ParameterizedTest.@ArgumentsSource is a repeatable annotation
 that is used to register arguments providers
 for the annotated class or method.@ArgumentsSources is a simple container for one or more
 ArgumentsSource annotations.Builder for 
AssertionFailedErrors.Assertions is a collection of utility methods that support asserting
 conditions in tests.Factory for timeout failures.
Assumptions is a collection of utility methods that support
 conditional test execution based on assumptions.@AutoClose is used to indicate that an annotated field will be
 automatically closed after test execution.@BeforeAll is used to signal that the annotated method should be
 executed before all tests in the current test class.BeforeAllCallback defines the API for Extensions
 that wish to provide additional behavior to test containers once
 before all tests in the container have been executed.BeforeClassTemplateInvocationCallback defines the API for
 Extensions that wish to provide additional behavior
 once before each invocation of a
 @ClassTemplate.@BeforeEach is used to signal that the annotated method should be
 executed before each @Test,
 @RepeatedTest, @ParameterizedTest, @TestFactory,
 and @TestTemplate method in the current test class.BeforeEachCallback defines the API for Extensions
 that wish to provide additional behavior to tests before an individual test
 and any user-defined setup methods (e.g.,
 @BeforeEach methods) for that test
 have been executed.Functional interface for registering a 
@BeforeEach method
 as a pseudo-extension.@BeforeParameterizedClassInvocation is used to signal that the
 annotated method should be executed before each
 invocation of the current @ParameterizedClass.@BeforeSuite is used to signal that the annotated method should be
 executed before all tests in the current test suite.BeforeTestExecutionCallback defines the API for Extensions that wish to provide additional behavior to tests
 immediately before an individual test is executed but after
 any user-defined setup methods (e.g.,
 @BeforeEach methods) have been
 executed for that test.Deprecated.
Caching implementation of the 
JupiterConfiguration API.TestDescriptor for tests based on Java classes.ClassDescriptor encapsulates functionality for a given Class.Class-related predicate used by reflection utilities.
Collection of utilities for working with ClassLoader and associated tasks.
DiscoveryFilter that is applied to the name of a Class.Collection of utilities for creating filters based on class names.
ClassOrderer defines the API for ordering top-level test classes and
 @Nested test classes.ClassOrderer that sorts classes alphanumerically based on their
 fully qualified names using String.compareTo(String).ClassOrderer that sorts classes alphanumerically based on their
 display names using String.compareTo(String)ClassOrderer that sorts classes based on the @Order
 annotation.ClassOrderer that orders classes pseudo-randomly.ClassOrdererContext encapsulates the context in which
 a ClassOrderer will be invoked.A 
DiscoverySelector that selects the name of a classpath resource
 so that TestEngines can load resources
 from the classpath — for example, to load XML or JSON files from the classpath,
 potentially within JARs.Classpath resource based 
TestSource
 with an optional position.A 
DiscoverySelector that selects a classpath root so that
 TestEngines can search for class
 files or resources within the physical classpath — for example, to
 scan for test classes.ClasspathScanner allows to scan the classpath for classes and
 resources.Deprecated.
Please use 
EngineDiscoveryRequestResolver instead.A 
DiscoverySelector that selects a Class or class name so
 that TestEngines can discover
 tests or containers based on classes.Class based 
TestSource with
 an optional file position.ClassSupport provides static utility methods for common tasks
 regarding classes — for example, generating a
 comma-separated list of fully qualified class names for a set of supplied
 classes.@ClassTemplate is used to signal that the annotated class is a
 class template.ClassTemplateInvocationContext represents the context of
 a single invocation of a @ClassTemplate.ClassTemplateInvocationContextProvider defines the API for
 Extensions that wish to provide one or multiple contexts
 for the invocation of a @ClassTemplate.Internal marker annotation for lifecycle methods specific to implementations
 of 
ClassTemplateInvocationContextProvider.TestDescriptor for tests based on Java classes.Collection of utilities for working with 
classes.Enumeration of cleanup modes for 
@TempDir.Collection of utilities for working with 
Collections.Internal facade to run a CLI command that exists to hide implementation
 details such as the used library.
A 
CompositeTestSource contains one or more TestSources.The result of evaluating an 
ExecutionCondition.ConditionEvaluator evaluates ExecutionCondition extensions.@ConfigurationParameter is a repeatable
 annotation that specifies a configuration key and
 value pair to be added to the discovery request when running
 a test suite on the JUnit Platform.Configuration parameters that 
TestEngines may use to
 influence test discovery and execution.@ConfigurationParameters is a container for one or more
 @ConfigurationParameter declarations.@ConfigurationParametersResource is a
 repeatable annotation that specifies a configuration
 file in Java's properties format on the classpath to be added to the
 discovery request when running a test suite on the JUnit Platform.@ConfigurationParametersResources is a container for one or more
 @ConfigurationParametersResource declarations.The 
ConsoleLauncher is a stand-alone application for launching the
 JUnit Platform from the console.Run the JUnit Platform Console Launcher as a service.
Collection of utilities for working with 
java.io.Console
 and friends.Collection of constants related to the 
JupiterTestEngine.Collection of constants related to the 
VintageTestEngine.ConversionException is an exception that can occur when an
 object is converted to another object.ConversionSupport provides static utility methods for converting a
 given object into an instance of a specified type.@ConvertWith is an annotation that allows one to specify an explicit
 ArgumentConverter.@CsvFileSource is a repeatable
 ArgumentsSource which is used to load comma-separated value (CSV)
 files from one or more classpath CsvFileSource.resources() or CsvFileSource.files().@CsvFileSources is a simple container for one or more
 CsvFileSource annotations.Thrown if an error is encountered while parsing CSV input.
@CsvSource is a repeatable
 ArgumentsSource which reads comma-separated values (CSV) from one
 or more CSV records supplied via the CsvSource.value() attribute or
 CsvSource.textBlock() attribute.@CsvSources is a simple container for one or more
 CsvSource annotations.Defines the strategy for closing custom class loaders created for test
 discovery and execution.
DefaultArgumentConverter is the default implementation of the
 ArgumentConverter API.Default implementation of the 
ArgumentsAccessor API.Default implementation of the 
JupiterConfiguration API.Default implementations of configuration strategies for parallel test
 execution.
A 
DiscoverySelector that selects a directory so that
 TestEngines
 can discover tests or containers based on directories in the
 file system.Directory based 
TestSource.@Disabled is used to signal that the annotated test class or
 test method is currently disabled and should not be executed.@DisabledForJreRange is used to signal that the annotated test class
 or test method is disabled for a specific range of Java Runtime
 Environment (JRE) versions.@DisabledIf is used to signal that the annotated test class or test
 method is disabled if the provided condition
 evaluates to true.@DisabledIfEnvironmentVariable is used to signal that the annotated test
 class or test method is disabled if the value of the specified
 environment variable matches the specified
 regular expression.@DisabledIfEnvironmentVariables is a container for one or more
 @DisabledIfEnvironmentVariable declarations.@DisabledIfSystemProperties is a container for one or more
 @DisabledIfSystemProperty declarations.@DisabledIfSystemProperty is used to signal that the annotated test
 class or test method is disabled if the value of the specified
 system property matches the specified
 regular expression.@DisabledInNativeImage is used to signal that the annotated test class
 or test method is disabled when executing within a GraalVM native
 image.@DisabledOnJre is used to signal that the annotated test class or
 test method is disabled on one or more specified Java Runtime
 Environment (JRE) versions.@DisabledOnOs is used to signal that the annotated test class or
 test method is disabled on one or more specified
 operating systems or on one or more specified
 architecturesDisable parent configuration parameters.
A 
DiscoveryFilter is applied during test discovery to determine if
 a given container or test should be included in the test plan.DiscoveryIssue represents an issue that was encountered during test
 discovery by a TestEngine.Builder for creating a 
DiscoveryIssue.The severity of a 
DiscoveryIssue.DiscoveryIssueException is an exception that is thrown if an engine
 reports critical issues during test discovery.DiscoveryIssueReporter defines the API for reporting
 DiscoveryIssues.A selector defines what a 
TestEngine can use to discover tests
 — for example, the name of a Java class, the path to a file or
 directory, etc.Identifier for a 
DiscoverySelector with a specific prefix.Parser for a 
DiscoverySelectorIdentifier with a specific prefix.Context for parsing 
DiscoverySelectorIdentifiers.DiscoverySelectorResolver resolves TestDescriptors
 for containers and tests selected by DiscoverySelectors, with the help of an EngineDiscoveryRequestResolver.Collection of 
static factory methods for creating
 DiscoverySelectors.@DisplayName is used to declare a custom display
 name for the annotated test class or test method.@DisplayNameGeneration is used to declare a custom display name
 generator for the annotated test class.DisplayNameGenerator defines the SPI for generating display names
 programmatically.DisplayNameGenerator that generates complete sentences.@SentenceFragment is used to configure a custom sentence fragment
 for a sentence generated by the IndicativeSentences
 DisplayNameGenerator.DisplayNameGenerator that replaces underscores with spaces.Simple 
DisplayNameGenerator that removes trailing parentheses
 for methods with no parameters.Standard 
DisplayNameGenerator.A 
DynamicContainer is a container generated at runtime.Filter for dynamic descendants of 
TestDescriptors that
 implement Filterable.DynamicNode serves as the abstract base class for a container or a
 test case generated at runtime.A 
DynamicTest is a test case generated at runtime.DynamicTestInvocationContext represents the context of a
 single invocation of a dynamic test.@EmptySource is an ArgumentsSource which provides a single
 empty argument to the annotated @ParameterizedClass
 or @ParameterizedTest.@EnabledForJreRange is used to signal that the annotated test class or
 test method is only enabled for a specific range of Java Runtime
 Environment (JRE) versions.@EnabledIf is used to signal that the annotated test class or test
 method is only enabled if the provided condition
 evaluates to true.@EnabledIfEnvironmentVariable is used to signal that the annotated test
 class or test method is only enabled if the value of the specified
 environment variable matches the specified
 regular expression.@EnabledIfEnvironmentVariables is a container for one or more
 @EnabledIfEnvironmentVariable declarations.@EnabledIfSystemProperties is a container for one or more
 @EnabledIfSystemProperty declarations.@EnabledIfSystemProperty is used to signal that the annotated test
 class or test method is only enabled if the value of the specified
 system property matches the specified
 regular expression.@EnabledInNativeImage is used to signal that the annotated test class
 or test method is only enabled when executing within a GraalVM native
 image.@EnabledOnJre is used to signal that the annotated test class or
 test method is only enabled on one or more specified Java Runtime
 Environment (JRE) versions.@EnabledOnOs is used to signal that the annotated test class or
 test method is only enabled on one or more specified
 operating systems or one or more specified
 architectures.EnableJUnit4MigrationSupport is a class-level annotation that
 enables all JUnit 4 migration support within JUnit Jupiter.This class-level annotation enables native JUnit 4 rule support
 within JUnit Jupiter.
EngineDiscoveryListener defines the API which enables a TestEngine
 to publish information about events that occur during test discovery.Orchestrates test discovery using the configured test engines.
EngineDiscoveryRequest provides a TestEngine access to the
 information necessary to discover tests and containers.Configurable test discovery implementation based on 
SelectorResolver
 and TestDescriptor.Visitor that can be reused by different
 TestEngines.Builder for 
EngineDiscoveryRequestResolver.The initialization context for creating resolvers and visitors that depend
 on the 
EngineDiscoveryRequest to be resolved or the engine
 descriptor that will be used to collect the results.EngineDiscoveryResult encapsulates the result of test discovery by a
 TestEngine.Status of test discovery by a
 
TestEngine.EngineDiscoveryResults represents the results of test discovery
 by a TestEngine on the JUnit
 Platform and provides access to the TestDescriptor of the engine
 and any DiscoveryIssues that were encountered.Marker interface for an execution context used by a concrete implementation
 of 
HierarchicalTestEngine and its collaborators.Listener to be notified of test execution events by
 test engines.
Orchestrates test execution using the configured test engines.
EngineExecutionResults provides a fluent API for processing the
 results of executing a test plan on the JUnit Platform for a given
 TestEngine.An 
EngineFilter is applied to all TestEngines
 before they are used.EngineTestKit provides support for discovering and executing tests
 for a given TestEngine and provides convenient access to the results.TestEngine execution builder.Enumeration of modes for selecting enum constants by name.
@EnumSources is a simple container for one or more
 EnumSource annotations.Event represents a single event fired during execution of
 a test plan on the JUnit Platform.Collection of AssertJ conditions for 
Event.Events is a facade that provides a fluent API for working with
 events.EventStatistics provides a fluent API for asserting statistics
 for events.Enumeration of the different possible 
Event types.Collection of utilities for working with exceptions.
@ExcludeClassNamePatterns specifies regular expressions that are used
 to match against fully qualified class names when running a test suite on the
 JUnit Platform.@ExcludeEngines specifies the IDs of
 TestEngines to be excluded
 when running a test suite on the JUnit Platform.@ExcludePackages specifies the packages to be
 excluded when running a test suite on the JUnit Platform.@ExcludeTags specifies the
 tags or tag expressions to be excluded when running a
 test suite on the JUnit Platform.An exclusive resource identified by a key with a lock mode that is used to
 synchronize access to shared resources when executing nodes in parallel.
LockMode translates to the respective ReadWriteLock
 locks.Executable is a functional interface that can be used to
 implement any generic block of code that potentially throws a
 Throwable.ExecutableInvoker allows invoking methods and constructors
 with support for dynamic resolution of parameters via
 ParameterResolvers.@Execution is used to configure the parallel execution
 mode of a test class or test method.Execution encapsulates metadata for the execution of a single
 TestDescriptor.ExecutionCondition defines the Extension API for
 programmatic, conditional test execution.Supported execution modes for parallel test execution.
ExecutionRecorder is an EngineExecutionListener that records
 data from every event that occurs during the engine execution lifecycle and
 provides functionality for retrieving execution state via
 EngineExecutionResults.Provides a single 
TestEngine access to the information necessary to
 execute its tests.Executions is a facade that provides a fluent API for working with
 executions.This 
Extension provides native support for the
 ExpectedException rule from JUnit 4.@ExtendWith is a repeatable annotation that
 is used to register extensions for the annotated test
 class, test interface, test method, parameter, or field.Marker interface for all extensions.
Thrown if an error is encountered regarding the configuration of an
 extension.
ExtensionContext encapsulates the context in which the
 current test or container is being executed.A 
Namespace is used to provide a scope for data saved by
 extensions within a ExtensionContext.Store.Store provides methods for extensions to save and retrieve data.Deprecated.
Please extend 
AutoCloseable directly.StoreScope is an enumeration of the different scopes for
 ExtensionContext.Store instances.Thrown if an error is encountered regarding the use of an
 
ExtensionContext or ExtensionContext.Store.ExtensionContextInternal extends the ExtensionContext with internal API.Container of two instances of 
ExtensionContext to simplify the legacy for
 #3445.An 
ExtensionRegistrar is used to register extensions.An 
ExtensionRegistry holds all registered extensions (i.e.@Extensions is a container for one or more @ExtendWith
 declarations.This 
Extension provides native support for subclasses of
 the ExternalResource rule from JUnit 4.FieldContext encapsulates the context in which an
 @Parameter-annotated Field is declared in a
 @ParameterizedClass.@FieldSource is a repeatable
 ArgumentsSource which provides access to values of
 fields of the class in which this annotation is declared
 or from static fields in external classes referenced by fully qualified
 field name.@FieldSources is a simple container for one or more
 FieldSource annotations.FileEntry encapsulates a file or directory to be published to the
 reporting infrastructure.A 
DiscoverySelector that selects a file so that
 TestEngines
 can discover tests or containers based on files in the
 file system.File based 
TestSource with an optional
 position.File system based 
TestSource.A 
Filter can be applied to determine if an object should be
 included or excluded in a result set.Filterable is implemented by
 TestDescriptors that may
 register dynamic tests during execution and support selective test execution.The result of applying a 
Filter.A 
LauncherDiscoveryListener that generates Java Flight Recorder
 events.A 
TestExecutionListener that generates Java Flight Recorder
 events.Collection of utilities for working with 
Functions,
 Predicates, etc.Abstract base class for all 
TestEngine implementations that wish
 to organize test suites hierarchically based on the Node abstraction.A closeable service that executes test tasks.
An executable task that represents a single test or container.
Modes in which a hierarchy can be traversed — for example, when
 searching for methods or fields within a class hierarchy.
ExecutionCondition that supports JUnit 4's @Ignore
 annotation.@IncludeClassNamePatterns specifies regular expressions that are used
 to match against fully qualified class names when running a test suite on the
 JUnit Platform.@IncludeEngines specifies the IDs of
 TestEngines to be included
 when running a test suite on the JUnit Platform.@IncludePackages specifies the packages to be
 included when running a test suite on the JUnit Platform.@IncludeTags specifies the
 tags or tag expressions to be included when running a
 test suite on the JUnit Platform.@IndicativeSentencesGeneration is used to register the
 DisplayNameGenerator.IndicativeSentences display name generator and configure it.InterceptingExecutableInvoker encapsulates the invocation of a
 Executable (i.e., method or constructor),
 including support for dynamic resolution of method parameters via
 ParameterResolvers.InvocationInterceptor defines the API for Extensions that wish to intercept calls to test code.An invocation that returns a result and may throw a 
Throwable.@Isolated is used to declare that the annotated test class should be
 executed in isolation from other test classes.Test if a method is a JUnit Jupiter 
@TestFactory method.Test if a method is a JUnit Jupiter 
@Test method.Test if a method is a JUnit Jupiter 
@TestTemplate method.A 
DiscoverySelector that selects the iterations of a parent
 DiscoverySelector via their indices so that
 TestEngines can discover
 a subset of the iterations of tests or containers.@JavaTimeConversionPattern is an annotation that allows a date/time
 conversion pattern to be specified on a parameter of a
 @ParameterizedClass
 or
 @ParameterizedTest.Enumeration of Java Runtime Environment (JRE) versions.
Contributes a section containing JUnit-specific metadata for each test node
 to the open-test-reporting HTML report.
Base class for all 
RuntimeExceptions thrown
 by JUnit.Deprecated.
since 1.8, in favor of the 
@Suite support provided by
 the junit-platform-suite-engine module; to be removed in JUnit Platform 2.0The JUnit Jupiter 
TestEngine.Factory for creating 
ThrowableCollectors within
 the JUnit Jupiter test engine.Internal Kotlin-specific reflection utilities
The 
Launcher API is the main entry point for client code that
 wishes to discover and execute tests using one or more
 test engines.LauncherConfig defines the configuration API for creating
 Launcher instances via the LauncherFactory.Builder API for 
LauncherConfig.Collection of constants related to 
Launcher.Register a concrete implementation of this interface with a
 
LauncherDiscoveryRequestBuilder or
 Launcher to be notified of events that occur during test discovery.Collection of 
static factory methods for creating
 LauncherDiscoveryListeners.LauncherDiscoveryRequest extends the EngineDiscoveryRequest API
 with additional filters that are applied by the Launcher itself.The 
LauncherDiscoveryRequestBuilder provides a light-weight DSL for
 generating a LauncherDiscoveryRequest.Represents the result of test discovery of the configured
 test engines.
Factory for creating 
Launcher instances by invoking LauncherFactory.create()
 or LauncherFactory.create(LauncherConfig).Interceptor for test discovery and execution by a 
Launcher in the
 context of a LauncherSession.An invocation that can be intercepted.
The 
LauncherSession API is the main entry point for client code that
 wishes to repeatedly discover and execute tests using one
 or more test engines.Register an implementation of this interface to be notified when a
 
LauncherSession is opened and closed.Collection of 
static factory methods for creating
 LauncherSessionListeners.Deprecated.
Use 
LegacyReportingUtils
 instead.Utility methods for dealing with legacy reporting infrastructure, such as
 reporting systems built on the Ant-based XML reporting format for JUnit 4.
LegacyXmlReportGeneratingListener is a TestExecutionListener that
 generates a separate XML report for each root
 in the TestPlan.LifecycleMethodExecutionExceptionHandler defines the API for
 Extensions that wish to handle exceptions thrown during
 the execution of @BeforeAll, @BeforeEach, @AfterEach,
 and @AfterAll lifecycle methods.The 
Logger API serves as a simple logging facade for
 java.util.logging (JUL).Factory for the 
Logger facade for JUL.Simple 
TestExecutionListener for logging informational messages
 for all events via a BiConsumer that consumes Throwable
 and Supplier<String>.LogRecordListener is only intended for testing purposes within
 JUnit's own test suite.A simple LRU cache with a maximum size.
Deprecated.
Use 
MediaType instead.Represents a media type as defined by
 RFC 2045.
Base class for 
TestDescriptors based on Java methods.MethodDescriptor encapsulates functionality for a given Method.PostDiscoveryFilter that is applied to the fully qualified
 Method name without parameters.MethodOrderer defines the API for ordering the test methods
 in a given test class.Deprecated.
as of JUnit Jupiter 5.7 in favor of 
MethodOrderer.MethodName;
 to be removed in 6.0MethodOrderer that sorts methods alphanumerically based on their
 display names using String.compareTo(String)MethodOrderer that sorts methods alphanumerically based on their
 names using String.compareTo(String).MethodOrderer that sorts methods based on the @Order
 annotation.MethodOrderer that orders methods pseudo-randomly.MethodOrdererContext encapsulates the context in which
 a MethodOrderer will be invoked.A 
DiscoverySelector that selects a Method or a combination of
 class name, method name, and parameter types so that
 TestEngines can discover tests
 or containers based on methods.@MethodSource is a repeatable
 ArgumentsSource which provides access to values returned from
 factory methods of the class in which this annotation
 is declared or from static factory methods in external classes referenced
 by fully qualified method name.Method based 
TestSource.@MethodSources is a simple container for one or more
 MethodSource annotations.ModifierSupport provides static utility methods for working with
 class and member modifiers —
 for example, to determine if a class or member is declared as
 public, private, abstract, static, etc.A 
DiscoverySelector that selects a module name so that
 TestEngines can discover
 tests or containers based on modules.Collection of utilities for working with 
java.lang.Module
 and friends.Default, mutable implementation of 
ExtensionRegistry.Named is a container that associates a name with a given payload.NamedExecutable joins Executable and Named in a
 one self-typed functional interface.A 
Namespace is used to provide a scope for data saved by
 extensions within a NamespacedHierarchicalStore.NamespacedHierarchicalStore is a hierarchical, namespaced key-value store.Called for each successfully stored non-null value in the store when a
 
NamespacedHierarchicalStore is
 closed.Exception thrown by failed 
NamespacedHierarchicalStore operations.@Nested is used to signal that the annotated class is a nested,
 non-static test class (i.e., an inner class) that can share
 setup and state with an instance of its enclosing class.A 
DiscoverySelector that selects a nested Class
 or class name enclosed in other classes so that
 TestEngines can discover
 tests or containers based on classes.TestDescriptor for tests based on nested (but not static) Java classes.A 
DiscoverySelector that selects a nested Method or a
 combination of enclosing class names, class name, method name, and parameter
 types so that TestEngines can
 discover tests or containers based on methods.A node within the execution hierarchy.
Executor for additional, dynamic test descriptors discovered during
 execution of a 
Node.Supported execution modes for parallel execution.
Represents an invocation that runs with the supplied context.
The result of determining whether the execution of a given 
context
 should be skipped.@NullAndEmptySource is a composed annotation that combines
 the functionality of @NullSource and
 @EmptySource.Dummy enum class used as default value for optional attributes of
 annotations.
@NullSource is an ArgumentsSource which provides a single
 null argument to the annotated @ParameterizedClass or
 @ParameterizedTest.Specialization of 
ThrowableCollector that treats instances of
 TestAbortedException as aborting.Open Test Reporting events XML generating test execution listener.
@Order is an annotation that is used to configure the
 order in which the annotated element (i.e., field,
 method, or class) should be evaluated or executed relative to other elements
 of the same category.Enumeration of common operating systems used for testing Java applications.
Provider of output directories for test engines to write reports and other
 output files to.
Deprecated.
Please implement 
OutputDirectoryCreator insteadDiscoveryFilter that is applied to the name of a Package.A 
DiscoverySelector that selects a package name so that
 TestEngines can discover
 tests or containers based on packages.Package based 
TestSource.Collection of utilities for working with packages.
Configuration to use for parallel test execution.
A strategy to use for configuring parallel test execution.
@Parameter is used to signal that a field in a
 @ParameterizedClass constitutes a parameter and marks it for
 field injection.ParameterContext encapsulates the context in which an
 Executable will be invoked for a given
 Parameter.ParameterDeclaration encapsulates the declaration of an
 indexed @ParameterizedClass or @ParameterizedTest parameter.ParameterDeclarations encapsulates the combined declarations
 of all indexed @ParameterizedClass or
 @ParameterizedTest parameters.ParameterInfo is used to provide information about the current
 invocation of a parameterized class or test.Deprecated.
Please use 
ParameterInfo instead@ParameterizedClass is used to signal that the annotated class is
 a parameterized test class.Constants for the use with the
 
@ParameterizedClass and
 @ParameterizedTest annotations.@ParameterizedTest is used to signal that the annotated method is a
 parameterized test method.Thrown if an error is encountered in the configuration or execution of a
 
ParameterResolver.ParameterResolutionUtils provides support for dynamic resolution
 of executable parameters via ParameterResolvers.ParameterResolver defines the API for Extensions
 that wish to dynamically resolve arguments for parameters
 at runtime.The result of attempting to parse a 
TagExpression.A 
PostDiscoveryFilter is applied to TestDescriptors
 after test discovery.Collection of utilities for asserting preconditions for method and
 constructor arguments.
Thrown if a precondition is violated.
Deprecated.
Use PreconditionViolationException instead.
View of 
ConfigurationParameters that applies a supplied prefix to all
 queries.PreInterruptCallback defines the API for Extensions that wish to be called prior to invocations of
 Thread.interrupt() by the Timeout
 extension.PreInterruptContext encapsulates the context in which an
 beforeThreadInterrupt method is called.ReflectionSupport provides static utility methods for common
 reflection tasks — for example, scanning for classes in the class-path
 or module-path, loading classes, finding methods, invoking methods, etc.Collection of utilities for working with the Java reflection APIs.
Modes in which a hierarchy can be traversed — for example, when
 searching for methods or fields within a class hierarchy.
ReflectiveInvocationContext encapsulates the context of
 a reflective invocation of an executable (method or constructor).@RegisterExtension is used to register an Extension via a
 field in a test class.@RepeatedTest is used to signal that the annotated method is a
 test template method that should be repeated a specified number of times with a configurable display
 name and an optional failure threshold.RepetitionInfo is used to inject information about the current
 repetition of a repeated test into @RepeatedTest, @BeforeEach,
 and @AfterEach methods.ReportEntry encapsulates a time-stamped map of String-based
 key-value pairs to be published to the reporting infrastructure.Resource represents a resource on the classpath.Deprecated.
Please use 
Resource instead.The access mode required by a test class or method for a given resource.
Resource filter used by reflection and classpath scanning support.
@ResourceLock is used to declare that the annotated test class or test
 method requires access to a shared resource identified by a key.A lock for a one or more resources.
@ResourceLocks is a container for one or more
 @ResourceLock declarations.A 
ResourceLocksProvider is used to programmatically add shared resources
 to a test class or its test methods dynamically at runtime.Lock represents a shared resource.ResourceLockTarget is used to define the target of a shared resource.Common resource names for synchronizing test execution.
ResourceSupport provides static utility methods for common tasks
 dealing with resources; for example, scanning for resources on the class path
 or module path.Collection of static utility methods for working with resources.
Collection of utilities for working with 
Runtime,
 RuntimeMXBean, etc.A simple executor service that
 executes all test tasks in the caller's thread.
Deprecated.
because there is only a single non-deprecated search option left
@Select is a repeatable annotation that
 specifies which tests to select based on prefixed
 selector identifiers.@SelectClasses specifies the classes to select when running
 a test suite on the JUnit Platform.@SelectClasspathResource is a repeatable
 annotation that specifies a classpath resource to select when running
 a test suite on the JUnit Platform.@SelectClasspathResources is a container for one or more
 @SelectClasspathResource declarations.@SelectDirectories specifies the directories to select when
 running a test suite on the JUnit Platform.@SelectFile is a repeatable annotation that
 specifies a file to select when running a test suite on the JUnit
 Platform.@SelectFiles is a container for one or more
 @SelectFile declarations.@SelectMethod is a repeatable annotation that
 specifies a method to select when running a test suite on the JUnit
 Platform.@SelectMethods is a container for one or more
 @SelectMethod declarations.@SelectModules specifies the modules to select when running
 a test suite on the JUnit Platform.Status of resolving a 
DiscoverySelector.A resolver that supports resolving one or multiple types of
 
DiscoverySelectors.The context for resolving a 
DiscoverySelector and adding it to
 the test tree.An exact or partial match for resolving a 
DiscoverySelector into
 a TestDescriptor.The result of an attempt to resolve a 
DiscoverySelector.@SelectPackages specifies the names of packages to select
 when running a test suite on the JUnit Platform.@Selects is a container for one or more
 @Select declarations.@SelectUris specifies the URIs to select when running a test
 suite on the JUnit Platform.Collection of utilities for working with 
ServiceLoader.SimpleArgumentConverter is an abstract base class for
 ArgumentConverter implementations that only need to know the target
 type and do not need access to the ParameterContext to perform the
 conversion.SimpleArgumentsAggregator is an abstract base class for
 ArgumentsAggregator implementations that do not need to distinguish
 between fields and method/constructor parameters.Deprecated.
Functional interface for a single test to be executed by
 
SingleTestExecutor.Collection of utilities for working with 
Strings,
 CharSequences, etc.The result of splitting a string into up to two parts.
@Suite marks a class as a test suite on the JUnit Platform.@SuiteDisplayName is used to declare a custom
 display name for the annotated test class that is executed as a test suite
 on the JUnit Platform.The 
SuiteLauncherDiscoveryRequestBuilder provides a light-weight DSL
 for generating a LauncherDiscoveryRequest specifically tailored for
 suite execution.The JUnit Platform Suite 
TestEngine.Simple 
TestExecutionListener that generates a
 summary of the test execution.@Tag is a repeatable annotation that is
 used to declare a tag for the annotated test class or test method.A tag expression can be evaluated against a collection of
 tags to determine if they match the expression.
Factory methods for creating 
PostDiscoveryFilters
 based on included and excluded tags or tag expressions.@Tags is a container for one or more @Tag declarations.TempDirFactory defines the SPI for creating temporary directories
 programmatically.Standard 
TempDirFactory implementation which delegates to
 Files.createTempDirectory(java.nio.file.Path, java.lang.String, java.nio.file.attribute.FileAttribute<?>...) using "junit-" as prefix.TemplateInvocationValidationException is an exception thrown by a
 TestTemplateInvocationContextProvider or
 ClassTemplateInvocationContextProvider if a validation fails when
 while providing or closing Stream of invocation
 contexts.TerminationInfo is a union type that allows propagation of terminated
 container/test state, supporting either the reason if the container/test
 was skipped or the TestExecutionResult if the container/test was executed.@Test is used to signal that the annotated method is a test
 method.@Testable is used to signal to IDEs and tooling vendors that the
 annotated or meta-annotated element is testable.@TestClassOrder is a type-level annotation that is used to configure
 a ClassOrderer for the @Nested test classes of
 the annotated test class.Predicates for determining whether a class is a JUnit Jupiter test class.
Mutable descriptor for a test or container that has been discovered by a
 
TestEngine.Supported types for 
TestDescriptors.Visitor for the tree-like 
TestDescriptor structure.A 
TestEngine facilitates discovery and execution of
 tests for a particular programming model.TestExecutionExceptionHandler defines the API for Extensions that wish to handle exceptions thrown during test execution.Register a concrete implementation of this interface with a 
Launcher
 to be notified of events that occur during test execution.TestExecutionResult encapsulates the result of executing a single test
 or container.Status of executing a single test or container.
Collection of AssertJ conditions for
 
TestExecutionResult.Summary of test plan execution.
Failure of a test or container.
@TestFactory is used to signal that the annotated method is a
 test factory method.TestDescriptor for
 @TestFactory methods.Immutable data transfer object that represents a test or container which is
 usually part of a 
TestPlan.TestInfo is used to inject information about the current test or
 container into to @Test, @RepeatedTest,
 @ParameterizedTest, @TestFactory, @BeforeEach,
 @AfterEach, @BeforeAll, and @AfterAll methods.@TestInstance is a type-level annotation that is used to configure
 the lifecycle of test instances for the annotated
 test class or test interface.Enumeration of test instance lifecycle modes.
TestInstanceFactoryContext encapsulates the context in which
 a test class is to be instantiated by a
 TestInstanceFactory.Collection of utilities for retrieving the test instance lifecycle mode.
TestInstancePostProcessor defines the API for Extensions that wish to post-process test instances.TestInstancePreConstructCallback defines the API for Extensions that wish to be invoked prior to creation of test instances.TestInstancePreDestroyCallback defines the API for Extensions that wish to process test instances after they have been
 used in tests but before they are destroyed.TestInstances encapsulates the test instances of a test.TestInstantiationAwareExtension defines the API for Extensions that are aware of or influence the instantiation of test classes.ExtensionContextScope is used to define the scope of the
 ExtensionContext supplied to an extension during the instantiation
 of test classes or processing of test instances.Thrown if an error is encountered during the execution of
 a 
TestInstanceFactory.@TestMethodOrder is a type-level annotation that is used to configure
 a MethodOrderer for the test methods of the annotated
 test class or test interface.TestDescriptor for @Test methods.TestPlan describes the tree of tests and containers as discovered
 by a Launcher.Visitor for 
TestIdentifiers in a TestPlan.Parameters of type 
TestReporter can be injected into
 @BeforeEach and @AfterEach lifecycle
 methods as well as methods annotated with @Test,
 @RepeatedTest,
 @ParameterizedTest,
 @TestFactory, etc.Representation of the source of a test or container used to navigate to
 its location by IDEs and build tools.
Immutable value object for a tag that is assigned to a test or
 container.
@TestTemplate is used to signal that the annotated method is a
 test template method.TestTemplateInvocationContext represents the context of a
 single invocation of a test
 template.TestTemplateInvocationContextProvider defines the API for
 Extensions that wish to provide one or multiple contexts
 for the invocation of a
 @TestTemplate method.TestDescriptor for a @TestTemplate
 invocation.TestDescriptor for @TestTemplate
 methods.TestWatcher defines the API for Extensions that
 wish to process test results.Simple component that can be used to collect one or more instances of
 
Throwable.Functional interface for an executable block of code that may throw a
 
Throwable.Factory for 
ThrowableCollector instances.ThrowingConsumer is a functional interface that can be used to
 implement any generic block of code that consumes an argument and
 potentially throws a Throwable.ThrowingSupplier is a functional interface that can be used to
 implement any generic block of code that returns an object and
 potentially throws a Throwable.@Timeout is used to define a timeout for a method or all testable
 methods within one class and its @Nested classes.ThreadMode is used to define whether test code should be executed
 in the thread of the calling code or in a separate thread.Simple builder for generating strings in custom implementations of
 
toString().A container object which may either contain a nullable value in case of
 success or an exception in case of failure.
A transformer for values of type 
S to type T.ParameterResolver adapter which resolves a parameter based on its exact type.TypedArgumentConverter is an abstract base class for
 ArgumentConverter implementations that always convert objects of a
 given source type into a given target type.UniqueId encapsulates the creation, parsing, and display of unique IDs
 for TestDescriptors.A segment of a 
UniqueId comprises a type and a
 value.A 
DiscoverySelector that selects a UniqueId so that
 TestEngines can discover
 tests or containers based on unique IDs.UniqueIdTrackingListener is a TestExecutionListener that tracks
 the unique IDs of all
 tests that were
 executed during the execution of the
 TestPlan and generates a file containing the unique IDs once execution
 of the TestPlan has finished.Internal utilities for working with unrecoverable exceptions.
A 
DiscoverySelector that selects a URI so that
 TestEngines
 can discover tests or containers based on URIs.A 
TestSource that can be represented as a URI.Deprecated.
since 1.8, in favor of the 
@Suite support provided by
 the junit-platform-suite-engine module; to be removed in JUnit Platform 2.0Interface for descriptors that can be validated during discovery.
@ValueSources is a simple container for one or more
 ValueSource annotations.This 
Extension provides native support for subclasses of
 the Verifier rule from JUnit 4.The JUnit Vintage 
TestEngine.
UnrecoverableExceptionsinstead.