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.@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.@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
@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 @ParameterizedTest
method.@ArgumentsSource
is a repeatable annotation
that is used to register arguments providers
for the annotated test 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.@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.@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.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
.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.DefaultArgumentConverter
is the default implementation of the
ArgumentConverter
API.Default implementation of the
ArgumentsAccessor
API.DISCLAIMER
Default implementation of the
JupiterConfiguration
API.Default implementations of configuration strategies for parallel test
execution.
DISCLAIMER
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 from DisabledForJreRange.min()
to DisabledForJreRange.max()
.@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.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.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 @ParameterizedTest
method.@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 from EnabledForJreRange.min()
to EnabledForJreRange.max()
.@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
contains TestEngine
access to the
information necessary to discover tests and containers.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
.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 executing a test plan for a given
TestEngine
and then accessing the results via
a fluent API to verify the expected 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.Classes implementing this interface indicate that they want to
ExtensionContext.Store.CloseableResource.close()
some underlying resource or resources when the enclosing Store
is closed.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.@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
.Test if a class is a non-private inner class (i.e., a non-static nested class).
Test if a class is a JUnit Jupiter
@Nested
test class.@Isolated
is used to declare that the annotated test class should be
executed in isolation from other test classes.Test if a class is a potential top-level JUnit Jupiter test container, even if
it does not contain tests.
Test if a class is a JUnit Jupiter test class containing executable tests,
test factories, test templates, or nested tests.
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
@ParameterizedTest
method.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.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.
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.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 classes 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 @ParameterizedTest
method.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.
DiscoveryFilter
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.
ParameterContext
encapsulates the context in which an
Executable
will be invoked for a given
Parameter
.@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.Represents a resource on the classpath.
The access mode required by a test class or method for a given resource.
@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.@ResourceLocksProvider
is used to add shared resources
to a test class and / or its test methods dynamically at runtime.ResourceLocksProvider.Lock
represents a shared resource.ResourceLockTarget
is used to define the target of a shared resource.Common resource names for synchronizing test execution.
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.
Search options for finding an annotation within a class hierarchy.
@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.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.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.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.Interface for
Extensions
that are aware and can influence
the instantiation of test instances.ExtensionContextScope
is used to define the scope of the
ExtensionContext
passed to an extension during the instantiation
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.0@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
.
UnrecoverableExceptions
instead.