Package org.junit.jupiter.api.extension
Interface Extension
- All Known Subinterfaces:
AfterAllCallback
,AfterEachCallback
,AfterTestExecutionCallback
,BeforeAllCallback
,BeforeEachCallback
,BeforeTestExecutionCallback
,ExecutionCondition
,InvocationInterceptor
,LifecycleMethodExecutionExceptionHandler
,ParameterResolver
,TestExecutionExceptionHandler
,TestInstanceFactory
,TestInstancePostProcessor
,TestInstancePreConstructCallback
,TestInstancePreDestroyCallback
,TestTemplateInvocationContextProvider
,TestWatcher
- All Known Implementing Classes:
TypeBasedParameterResolver
@API(status=STABLE,
since="5.0")
public interface Extension
Marker interface for all extensions.
An Extension
can be registered declaratively via
@ExtendWith
, programmatically via
@RegisterExtension
, or automatically via
the ServiceLoader
mechanism. For details on the latter,
consult the User Guide.
Constructor Requirements
Extension implementations must have a default constructor if
registered via @ExtendWith
or the ServiceLoader
. When
registered via @ExtendWith
the default constructor is not required
to be public
. When registered via the ServiceLoader
the
default constructor must be public
. When registered via
@RegisterExtension
the extension's constructors typically must be
public
unless the extension provides static
factory methods
or a builder API as an alternative to constructors.
- Since:
- 5.0