Interface Extension
- All Known Subinterfaces:
AfterAllCallback, AfterClassTemplateInvocationCallback, AfterEachCallback, AfterEachMethodAdapter, AfterTestExecutionCallback, BeforeAllCallback, BeforeClassTemplateInvocationCallback, BeforeEachCallback, BeforeEachMethodAdapter, BeforeTestExecutionCallback, ClassTemplateInvocationContextProvider, ExecutionCondition, InvocationInterceptor, LifecycleMethodExecutionExceptionHandler, ParameterResolver, PreInterruptCallback, TestExecutionExceptionHandler, TestInstanceFactory, TestInstancePostProcessor, TestInstancePreConstructCallback, TestInstancePreDestroyCallback, TestInstantiationAwareExtension, TestTemplateInvocationContextProvider, TestWatcher
- All Known Implementing Classes:
ExpectedExceptionSupport, ExternalResourceSupport, IgnoreCondition, TypeBasedParameterResolver, VerifierSupport
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