abstract class AbstractExtensionContext<T extends TestDescriptor> extends java.lang.Object implements ExtensionContext, java.lang.AutoCloseable
ExtensionContext.Namespace, ExtensionContext.Store
Modifier and Type | Field and Description |
---|---|
private JupiterConfiguration |
configuration |
private EngineExecutionListener |
engineExecutionListener |
private ExtensionContext |
parent |
private java.util.Set<java.lang.String> |
tags |
private T |
testDescriptor |
private ExtensionValuesStore |
valuesStore |
Constructor and Description |
---|
AbstractExtensionContext(ExtensionContext parent,
EngineExecutionListener engineExecutionListener,
T testDescriptor,
JupiterConfiguration configuration) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
private ExtensionValuesStore |
createStore(ExtensionContext parent) |
java.util.Optional<java.lang.String> |
getConfigurationParameter(java.lang.String key)
Get the configuration parameter stored under the specified
key . |
java.lang.String |
getDisplayName()
Get the display name for the current test or container.
|
java.util.Optional<ExtensionContext> |
getParent()
Get the parent extension context, if available.
|
ExtensionContext |
getRoot()
Get the root
ExtensionContext . |
ExtensionContext.Store |
getStore(ExtensionContext.Namespace namespace)
Get the
ExtensionContext.Store for the supplied ExtensionContext.Namespace . |
java.util.Set<java.lang.String> |
getTags()
Get the set of all tags for the current test or container.
|
protected T |
getTestDescriptor() |
java.lang.String |
getUniqueId()
Get the unique ID of the current test or container.
|
void |
publishReportEntry(java.util.Map<java.lang.String,java.lang.String> values)
Publish a map of key-value pairs to be consumed by an
org.junit.platform.engine.EngineExecutionListener in order to
supply additional information to the reporting infrastructure. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getElement, getExecutionException, getRequiredTestClass, getRequiredTestInstance, getRequiredTestInstances, getRequiredTestMethod, getTestClass, getTestInstance, getTestInstanceLifecycle, getTestInstances, getTestMethod, publishReportEntry, publishReportEntry
private final ExtensionContext parent
private final EngineExecutionListener engineExecutionListener
private final T extends TestDescriptor testDescriptor
private final java.util.Set<java.lang.String> tags
private final JupiterConfiguration configuration
private final ExtensionValuesStore valuesStore
AbstractExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener, T testDescriptor, JupiterConfiguration configuration)
private ExtensionValuesStore createStore(ExtensionContext parent)
public void close()
close
in interface java.lang.AutoCloseable
public java.lang.String getUniqueId()
ExtensionContext
getUniqueId
in interface ExtensionContext
null
or blankpublic java.lang.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(java.util.Map<java.lang.String,java.lang.String> values)
ExtensionContext
org.junit.platform.engine.EngineExecutionListener
in order to
supply additional information to the reporting infrastructure.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 blankExtensionContext.publishReportEntry(String, String)
,
ExtensionContext.publishReportEntry(String)
,
EngineExecutionListener.reportingEntryPublished(org.junit.platform.engine.TestDescriptor, org.junit.platform.engine.reporting.ReportEntry)
public java.util.Optional<ExtensionContext> getParent()
ExtensionContext
getParent
in interface ExtensionContext
Optional
containing the parent; never null
but
potentially emptyExtensionContext.getRoot()
public ExtensionContext getRoot()
ExtensionContext
ExtensionContext
.getRoot
in interface ExtensionContext
null
but potentially
this ExtensionContext
ExtensionContext.getParent()
protected T getTestDescriptor()
public ExtensionContext.Store getStore(ExtensionContext.Namespace namespace)
ExtensionContext
ExtensionContext.Store
for the supplied ExtensionContext.Namespace
.
Use getStore(Namespace.GLOBAL)
to get the default, global ExtensionContext.Namespace
.
A store is bound to its extension context lifecycle. When an extension
context lifecycle ends it closes its associated store. All stored values
that are instances of ExtensionContext.Store.CloseableResource
are
notified by invoking their close()
methods.
getStore
in interface ExtensionContext
namespace
- the Namespace
to get the store for; never null
null
ExtensionContext.Namespace.GLOBAL
public java.util.Set<java.lang.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 emptypublic java.util.Optional<java.lang.String> getConfigurationParameter(java.lang.String key)
ExtensionContext
key
.
If no such key is present in the ConfigurationParameters
for
the JUnit Platform, an attempt will be made to look up the value as a
JVM system property. If no such system property exists, an attempt will
be made to look up the value in the JUnit Platform properties file.
getConfigurationParameter
in interface ExtensionContext
key
- the key to look up; never null
or blankOptional
containing the value; never null
but potentially emptySystem.getProperty(String)
,
ConfigurationParameters