class ParameterizedTestExtension extends java.lang.Object implements TestTemplateInvocationContextProvider
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
METHOD_CONTEXT_KEY |
Constructor and Description |
---|
ParameterizedTestExtension() |
Modifier and Type | Method and Description |
---|---|
protected static java.util.stream.Stream<? extends Arguments> |
arguments(ArgumentsProvider provider,
ExtensionContext context) |
private java.lang.Object[] |
consumedArguments(java.lang.Object[] arguments,
ParameterizedTestMethodContext methodContext) |
private TestTemplateInvocationContext |
createInvocationContext(ParameterizedTestNameFormatter formatter,
ParameterizedTestMethodContext methodContext,
java.lang.Object[] arguments) |
private ParameterizedTestNameFormatter |
createNameFormatter(java.lang.reflect.Method templateMethod,
java.lang.String displayName) |
private ExtensionContext.Store |
getStore(ExtensionContext context) |
private ArgumentsProvider |
instantiateArgumentsProvider(java.lang.Class<? extends ArgumentsProvider> clazz) |
java.util.stream.Stream<TestTemplateInvocationContext> |
provideTestTemplateInvocationContexts(ExtensionContext extensionContext)
Provide invocation contexts
for the test template method represented by the supplied
context . |
boolean |
supportsTestTemplate(ExtensionContext context)
Determine if this provider supports providing invocation contexts for the
test template method represented by the supplied
context . |
private static final java.lang.String METHOD_CONTEXT_KEY
public boolean supportsTestTemplate(ExtensionContext context)
TestTemplateInvocationContextProvider
context
.supportsTestTemplate
in interface TestTemplateInvocationContextProvider
context
- the extension context for the test template method about
to be invoked; never null
true
if this provider can provide invocation contextsTestTemplateInvocationContextProvider.provideTestTemplateInvocationContexts(org.junit.jupiter.api.extension.ExtensionContext)
,
ExtensionContext
public java.util.stream.Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(ExtensionContext extensionContext)
TestTemplateInvocationContextProvider
context
.
This method is only called by the framework if TestTemplateInvocationContextProvider.supportsTestTemplate(org.junit.jupiter.api.extension.ExtensionContext)
previously returned true
for the same ExtensionContext
.
Thus, this method must not return an empty Stream
.
The returned Stream
will be properly closed by calling
BaseStream.close()
, making it safe to use a resource such as
Files.lines()
.
provideTestTemplateInvocationContexts
in interface TestTemplateInvocationContextProvider
extensionContext
- the extension context for the test template method about
to be invoked; never null
Stream
of TestTemplateInvocationContext
instances for the invocation of the test template method; never null
or emptyTestTemplateInvocationContextProvider.supportsTestTemplate(org.junit.jupiter.api.extension.ExtensionContext)
,
ExtensionContext
private ArgumentsProvider instantiateArgumentsProvider(java.lang.Class<? extends ArgumentsProvider> clazz)
private ExtensionContext.Store getStore(ExtensionContext context)
private TestTemplateInvocationContext createInvocationContext(ParameterizedTestNameFormatter formatter, ParameterizedTestMethodContext methodContext, java.lang.Object[] arguments)
private ParameterizedTestNameFormatter createNameFormatter(java.lang.reflect.Method templateMethod, java.lang.String displayName)
protected static java.util.stream.Stream<? extends Arguments> arguments(ArgumentsProvider provider, ExtensionContext context)
private java.lang.Object[] consumedArguments(java.lang.Object[] arguments, ParameterizedTestMethodContext methodContext)