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