Module org.junit.jupiter.engine
Interface ExtensionRegistrar
- All Known Implementing Classes:
MutableExtensionRegistry
An
ExtensionRegistrar
is used to register extensions.- Since:
- 5.5
-
Method Summary
Modifier and TypeMethodDescriptionvoid
registerExtension(Class<? extends Extension> extensionType)
Instantiate an extension of the given type using its default constructor and register it in the registry.void
registerExtension(Extension extension, Object source)
Register the suppliedExtension
, without checking if an extension of that type has already been registered.void
registerSyntheticExtension(Extension extension, Object source)
Register the suppliedExtension
as a synthetic extension, without checking if an extension of that type has already been registered.
-
Method Details
-
registerExtension
Instantiate an extension of the given type using its default constructor and register it in the registry.A new
Extension
should not be registered if an extension of the given type already exists in the registry or a parent registry.- Parameters:
extensionType
- the type of extension to register- Since:
- 5.8
-
registerExtension
Register the suppliedExtension
, without checking if an extension of that type has already been registered.Semantics for Source
If an extension is registered declaratively via
@ExtendWith
, thesource
and theextension
should be the same object. However, if an extension is registered programmatically via@RegisterExtension
, thesource
object should be theField
that is annotated with@RegisterExtension
. Similarly, if an extension is registered programmatically as a lambda expression or method reference, thesource
object should be the underlyingMethod
that implements the extension API.- Parameters:
extension
- the extension to register; nevernull
source
- the source of the extension; nevernull
-
registerSyntheticExtension
Register the suppliedExtension
as a synthetic extension, without checking if an extension of that type has already been registered.- Parameters:
extension
- the extension to register; nevernull
source
- the source of the extension; nevernull
- Since:
- 5.8
- See Also:
registerExtension(Extension, Object)
-