@API(value=Internal) public final class ClassBasedContainerExtensionContext extends Object implements ContainerExtensionContext
ExtensionContext.Namespace, ExtensionContext.Store
Constructor and Description |
---|
ClassBasedContainerExtensionContext(ExtensionContext parent,
EngineExecutionListener engineExecutionListener,
ClassTestDescriptor testDescriptor) |
Modifier and Type | Method and Description |
---|---|
String |
getDisplayName()
Get the display name for the current test or container.
|
Optional<AnnotatedElement> |
getElement()
Get the
AnnotatedElement corresponding to the current extension
context, if available. |
Optional<ExtensionContext> |
getParent()
Get the parent extension context, if available.
|
ExtensionContext.Store |
getStore(ExtensionContext.Namespace namespace)
Get the
ExtensionContext.Store for the supplied ExtensionContext.Namespace . |
Set<String> |
getTags()
Get the set of all tags for the current test or container.
|
Optional<Class<?>> |
getTestClass()
Get the
Class associated with the current test or container,
if available. |
protected T |
getTestDescriptor() |
Optional<Method> |
getTestMethod()
Get the
Method associated with the current test, if available. |
String |
getUniqueId()
Get the unique ID of the current test or container.
|
void |
publishReportEntry(Map<String,String> values)
Publish a map of key-value pairs to be consumed by an
org.junit.platform.engine.EngineExecutionListener . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDisplayName, getParent, getStore, getStore, getTags, getUniqueId, publishReportEntry, publishReportEntry
public ClassBasedContainerExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener, ClassTestDescriptor testDescriptor)
public Optional<AnnotatedElement> getElement()
ExtensionContext
AnnotatedElement
corresponding to the current extension
context, if available.
For example, if the current extension context encapsulates a test
class or test method, the annotated element will be the corresponding
Class
or Method
reference.
Favor this method over more specific methods whenever the
AnnotatedElement
API suits the task at hand — for example,
when looking up annotations regardless of concrete element type.
getElement
in interface ExtensionContext
Optional
containing the AnnotatedElement
;
never null
but potentially emptyExtensionContext.getTestClass()
,
ExtensionContext.getTestMethod()
public Optional<Class<?>> getTestClass()
ExtensionContext
Class
associated with the current test or container,
if available.getTestClass
in interface ExtensionContext
Optional
containing the class; never null
but
potentially emptypublic Optional<Method> getTestMethod()
ExtensionContext
Method
associated with the current test, if available.getTestMethod
in interface ExtensionContext
Optional
containing the method; never null
but
potentially emptypublic String getUniqueId()
ExtensionContext
getUniqueId
in interface ExtensionContext
null
or blankpublic String getDisplayName()
ExtensionContext
The display name is either a default name or a custom name configured
via @DisplayName
.
For details on default display names consult the Javadoc for
TestInfo.getDisplayName()
.
Note that display names are typically used for test reporting in IDEs and build tools and may contain spaces, special characters, and even emoji.
getDisplayName
in interface ExtensionContext
null
or blankpublic void publishReportEntry(Map<String,String> values)
ExtensionContext
org.junit.platform.engine.EngineExecutionListener
.publishReportEntry
in interface ExtensionContext
values
- the key-value pairs to be published; never null
;
keys and values within entries in the map also must not be
null
or blankpublic Optional<ExtensionContext> getParent()
ExtensionContext
getParent
in interface ExtensionContext
Optional
containing the parent; never null
but
potentially emptyprotected T getTestDescriptor()
public ExtensionContext.Store getStore(ExtensionContext.Namespace namespace)
ExtensionContext
ExtensionContext.Store
for the supplied ExtensionContext.Namespace
.getStore
in interface ExtensionContext
namespace
- the Namespace
to get the store for; never null
null
public Set<String> getTags()
ExtensionContext
Tags may be declared directly on the test element or inherited from an outer context.
getTags
in interface ExtensionContext
null
but
potentially empty