Skip to content

Commit

Permalink
Pass current ExtensionContext to TestInstancePostProcessors
Browse files Browse the repository at this point in the history
Prior to this commit, TIPPs were always called with the
ClassExtensionContext. However, that only contained a test instance
when Lifecycle.PER_CLASS was in use. Now, the ExtensionContext the
instance is created for, e.g. the ExtensionContext of a test method
with the default lifecycle, is used.

Issue: #910
  • Loading branch information
marcphilipp authored and sbrannen committed Jul 3, 2017
1 parent 0e38cd7 commit 7abfa00
Show file tree
Hide file tree
Showing 17 changed files with 142 additions and 132 deletions.
3 changes: 2 additions & 1 deletion documentation/src/test/java/example/TestInfoDemo.java
Expand Up @@ -24,7 +24,8 @@
class TestInfoDemo { class TestInfoDemo {


TestInfoDemo(TestInfo testInfo) { TestInfoDemo(TestInfo testInfo) {
assertEquals("TestInfo Demo", testInfo.getDisplayName()); String displayName = testInfo.getDisplayName();
assertTrue(displayName.equals("TEST 1") || displayName.equals("test2()"));
} }


@BeforeEach @BeforeEach
Expand Down
Expand Up @@ -16,7 +16,7 @@
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Optional; import java.util.Optional;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.ThrowableCollector; import org.junit.jupiter.engine.execution.ThrowableCollector;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
import org.junit.platform.engine.EngineExecutionListener; import org.junit.platform.engine.EngineExecutionListener;
Expand All @@ -28,9 +28,8 @@
public final class ClassExtensionContext extends AbstractExtensionContext<ClassTestDescriptor> { public final class ClassExtensionContext extends AbstractExtensionContext<ClassTestDescriptor> {


private final ThrowableCollector throwableCollector; private final ThrowableCollector throwableCollector;
private Object testInstance;


public ClassExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener, public ClassExtensionContext(AbstractExtensionContext<?> parent, EngineExecutionListener engineExecutionListener,
ClassTestDescriptor testDescriptor, ThrowableCollector throwableCollector) { ClassTestDescriptor testDescriptor, ThrowableCollector throwableCollector) {


super(parent, engineExecutionListener, testDescriptor); super(parent, engineExecutionListener, testDescriptor);
Expand All @@ -47,15 +46,6 @@ public Optional<Class<?>> getTestClass() {
return Optional.of(getTestDescriptor().getTestClass()); return Optional.of(getTestDescriptor().getTestClass());
} }


void setTestInstance(Object testInstance) {
this.testInstance = testInstance;
}

@Override
public Optional<Object> getTestInstance() {
return Optional.ofNullable(this.testInstance);
}

@Override @Override
public Optional<Method> getTestMethod() { public Optional<Method> getTestMethod() {
return Optional.empty(); return Optional.empty();
Expand Down
Expand Up @@ -22,7 +22,6 @@
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;


import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance;
Expand All @@ -32,6 +31,7 @@
import org.junit.jupiter.api.extension.Extension; import org.junit.jupiter.api.extension.Extension;
import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestInstancePostProcessor; import org.junit.jupiter.api.extension.TestInstancePostProcessor;
import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.AfterEachMethodAdapter; import org.junit.jupiter.engine.execution.AfterEachMethodAdapter;
import org.junit.jupiter.engine.execution.BeforeEachMethodAdapter; import org.junit.jupiter.engine.execution.BeforeEachMethodAdapter;
import org.junit.jupiter.engine.execution.ExecutableInvoker; import org.junit.jupiter.engine.execution.ExecutableInvoker;
Expand Down Expand Up @@ -176,29 +176,29 @@ private TestInstanceProvider testInstanceProvider(JupiterEngineExecutionContext
if (this.lifecycle == Lifecycle.PER_CLASS) { if (this.lifecycle == Lifecycle.PER_CLASS) {
// Eagerly load test instance for BeforeAllCallbacks, if necessary, // Eagerly load test instance for BeforeAllCallbacks, if necessary,
// and store the instance in the ExtensionContext. // and store the instance in the ExtensionContext.
Object instance = instantiateAndPostProcessTestInstance(parentExecutionContext, extensionContext, registry, Object instance = instantiateAndPostProcessTestInstance(parentExecutionContext, extensionContext, registry);
extensionContext::setTestInstance); return (childContext, childRegistry) -> {
return childRegistry -> instance; childContext.setTestInstance(instance);
return instance;
};
} }


// else Lifecycle.PER_METHOD // else Lifecycle.PER_METHOD
return childRegistry -> instantiateAndPostProcessTestInstance(parentExecutionContext, extensionContext, return (childContext, childRegistry) -> instantiateAndPostProcessTestInstance(parentExecutionContext,
childRegistry.orElse(registry), instance -> { childContext, childRegistry.orElse(registry));
// no extension context update required
});
} }


private Object instantiateAndPostProcessTestInstance(JupiterEngineExecutionContext context, private Object instantiateAndPostProcessTestInstance(JupiterEngineExecutionContext context,
ExtensionContext extensionContext, ExtensionRegistry registry, Consumer<Object> testInstanceConsumer) { AbstractExtensionContext<?> extensionContext, ExtensionRegistry registry) {


Object instance = instantiateTestClass(context, registry, extensionContext); Object instance = instantiateTestClass(context, registry, extensionContext);
testInstanceConsumer.accept(instance); extensionContext.setTestInstance(instance);
invokeTestInstancePostProcessors(registry, extensionContext); invokeTestInstancePostProcessors(registry, extensionContext);
return instance; return instance;
} }


protected Object instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext, protected Object instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext,
ExtensionRegistry registry, ExtensionContext extensionContext) { ExtensionRegistry registry, AbstractExtensionContext<?> extensionContext) {


Constructor<?> constructor = ReflectionUtils.getDeclaredConstructor(this.testClass); Constructor<?> constructor = ReflectionUtils.getDeclaredConstructor(this.testClass);
return executableInvoker.invoke(constructor, extensionContext, registry); return executableInvoker.invoke(constructor, extensionContext, registry);
Expand Down
Expand Up @@ -13,7 +13,7 @@
import static org.junit.jupiter.engine.extension.ExtensionRegistry.createRegistryWithDefaultExtensions; import static org.junit.jupiter.engine.extension.ExtensionRegistry.createRegistryWithDefaultExtensions;
import static org.junit.platform.commons.meta.API.Usage.Internal; import static org.junit.platform.commons.meta.API.Usage.Internal;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext; import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext;
import org.junit.jupiter.engine.extension.ExtensionRegistry; import org.junit.jupiter.engine.extension.ExtensionRegistry;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
Expand All @@ -36,7 +36,7 @@ public JupiterEngineDescriptor(UniqueId uniqueId) {
public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) throws Exception { public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) throws Exception {
ExtensionRegistry extensionRegistry = createRegistryWithDefaultExtensions(context.getConfigurationParameters()); ExtensionRegistry extensionRegistry = createRegistryWithDefaultExtensions(context.getConfigurationParameters());
EngineExecutionListener executionListener = context.getExecutionListener(); EngineExecutionListener executionListener = context.getExecutionListener();
ExtensionContext extensionContext = new JupiterEngineExtensionContext(executionListener, this); AbstractExtensionContext<?> extensionContext = new JupiterEngineExtensionContext(executionListener, this);


// @formatter:off // @formatter:off
return context.extend() return context.extend()
Expand Down
Expand Up @@ -16,6 +16,7 @@
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Optional; import java.util.Optional;


import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
import org.junit.platform.engine.EngineExecutionListener; import org.junit.platform.engine.EngineExecutionListener;


Expand All @@ -40,11 +41,6 @@ public Optional<Class<?>> getTestClass() {
return Optional.empty(); return Optional.empty();
} }


@Override
public Optional<Object> getTestInstance() {
return Optional.empty();
}

@Override @Override
public Optional<Method> getTestMethod() { public Optional<Method> getTestMethod() {
return Optional.empty(); return Optional.empty();
Expand Down
Expand Up @@ -16,7 +16,7 @@
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Optional; import java.util.Optional;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.ThrowableCollector; import org.junit.jupiter.engine.execution.ThrowableCollector;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
import org.junit.platform.engine.EngineExecutionListener; import org.junit.platform.engine.EngineExecutionListener;
Expand All @@ -27,16 +27,13 @@
@API(Internal) @API(Internal)
public final class MethodExtensionContext extends AbstractExtensionContext<MethodTestDescriptor> { public final class MethodExtensionContext extends AbstractExtensionContext<MethodTestDescriptor> {


private final Object testInstance;

private final ThrowableCollector throwableCollector; private final ThrowableCollector throwableCollector;


public MethodExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener, public MethodExtensionContext(AbstractExtensionContext<?> parent, EngineExecutionListener engineExecutionListener,
MethodTestDescriptor testDescriptor, Object testInstance, ThrowableCollector throwableCollector) { MethodTestDescriptor testDescriptor, ThrowableCollector throwableCollector) {


super(parent, engineExecutionListener, testDescriptor); super(parent, engineExecutionListener, testDescriptor);


this.testInstance = testInstance;
this.throwableCollector = throwableCollector; this.throwableCollector = throwableCollector;
} }


Expand All @@ -55,11 +52,6 @@ public Optional<Method> getTestMethod() {
return Optional.of(getTestDescriptor().getTestMethod()); return Optional.of(getTestDescriptor().getTestMethod());
} }


@Override
public Optional<Object> getTestInstance() {
return Optional.of(this.testInstance);
}

@Override @Override
public Optional<Throwable> getExecutionException() { public Optional<Throwable> getExecutionException() {
return Optional.ofNullable(this.throwableCollector.getThrowable()); return Optional.ofNullable(this.throwableCollector.getThrowable());
Expand Down
Expand Up @@ -25,6 +25,7 @@
import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestExecutionExceptionHandler; import org.junit.jupiter.api.extension.TestExecutionExceptionHandler;
import org.junit.jupiter.api.function.Executable; import org.junit.jupiter.api.function.Executable;
import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.AfterEachMethodAdapter; import org.junit.jupiter.engine.execution.AfterEachMethodAdapter;
import org.junit.jupiter.engine.execution.BeforeEachMethodAdapter; import org.junit.jupiter.engine.execution.BeforeEachMethodAdapter;
import org.junit.jupiter.engine.execution.ExecutableInvoker; import org.junit.jupiter.engine.execution.ExecutableInvoker;
Expand Down Expand Up @@ -78,10 +79,10 @@ public Type getType() {
@Override @Override
public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) throws Exception { public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) throws Exception {
ExtensionRegistry registry = populateNewExtensionRegistry(context); ExtensionRegistry registry = populateNewExtensionRegistry(context);
Object testInstance = context.getTestInstanceProvider().getTestInstance(Optional.of(registry));
ThrowableCollector throwableCollector = new ThrowableCollector(); ThrowableCollector throwableCollector = new ThrowableCollector();
ExtensionContext extensionContext = new MethodExtensionContext(context.getExtensionContext(), AbstractExtensionContext<?> extensionContext = new MethodExtensionContext(context.getExtensionContext(),
context.getExecutionListener(), this, testInstance, throwableCollector); context.getExecutionListener(), this, throwableCollector);
context.getTestInstanceProvider().getTestInstance(extensionContext, Optional.of(registry));


// @formatter:off // @formatter:off
return context.extend() return context.extend()
Expand Down
Expand Up @@ -16,7 +16,7 @@
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.ExecutableInvoker; import org.junit.jupiter.engine.execution.ExecutableInvoker;
import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext; import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext;
import org.junit.jupiter.engine.extension.ExtensionRegistry; import org.junit.jupiter.engine.extension.ExtensionRegistry;
Expand Down Expand Up @@ -58,11 +58,11 @@ public final Set<TestTag> getTags() {


@Override @Override
protected Object instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext, protected Object instantiateTestClass(JupiterEngineExecutionContext parentExecutionContext,
ExtensionRegistry registry, ExtensionContext extensionContext) { ExtensionRegistry registry, AbstractExtensionContext<?> extensionContext) {


// Extensions registered for nested classes and below are not to be used for instantiating outer classes // Extensions registered for nested classes and below are not to be used for instantiating outer classes
Optional<ExtensionRegistry> childExtensionRegistryForOuterInstance = Optional.empty(); Optional<ExtensionRegistry> childExtensionRegistryForOuterInstance = Optional.empty();
Object outerInstance = parentExecutionContext.getTestInstanceProvider().getTestInstance( Object outerInstance = parentExecutionContext.getTestInstanceProvider().getTestInstance(extensionContext,
childExtensionRegistryForOuterInstance); childExtensionRegistryForOuterInstance);
Constructor<?> constructor = ReflectionUtils.getDeclaredConstructor(getTestClass()); Constructor<?> constructor = ReflectionUtils.getDeclaredConstructor(getTestClass());
return executableInvoker.invoke(constructor, outerInstance, extensionContext, registry); return executableInvoker.invoke(constructor, outerInstance, extensionContext, registry);
Expand Down
Expand Up @@ -16,7 +16,7 @@
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Optional; import java.util.Optional;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
import org.junit.platform.engine.EngineExecutionListener; import org.junit.platform.engine.EngineExecutionListener;


Expand All @@ -26,13 +26,10 @@
@API(Internal) @API(Internal)
final class TestTemplateExtensionContext extends AbstractExtensionContext<TestTemplateTestDescriptor> { final class TestTemplateExtensionContext extends AbstractExtensionContext<TestTemplateTestDescriptor> {


private final Object testInstance; TestTemplateExtensionContext(AbstractExtensionContext<?> parent, EngineExecutionListener engineExecutionListener,

TestTemplateTestDescriptor testDescriptor) {
TestTemplateExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener,
TestTemplateTestDescriptor testDescriptor, Object testInstance) {


super(parent, engineExecutionListener, testDescriptor); super(parent, engineExecutionListener, testDescriptor);
this.testInstance = testInstance;
} }


@Override @Override
Expand All @@ -45,11 +42,6 @@ public Optional<Class<?>> getTestClass() {
return Optional.of(getTestDescriptor().getTestClass()); return Optional.of(getTestDescriptor().getTestClass());
} }


@Override
public Optional<Object> getTestInstance() {
return Optional.ofNullable(this.testInstance);
}

@Override @Override
public Optional<Method> getTestMethod() { public Optional<Method> getTestMethod() {
return Optional.of(getTestDescriptor().getTestMethod()); return Optional.of(getTestDescriptor().getTestMethod());
Expand Down
Expand Up @@ -20,9 +20,9 @@
import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.api.extension.TestTemplateInvocationContext; import org.junit.jupiter.api.extension.TestTemplateInvocationContext;
import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider; import org.junit.jupiter.api.extension.TestTemplateInvocationContextProvider;
import org.junit.jupiter.engine.execution.AbstractExtensionContext;
import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext; import org.junit.jupiter.engine.execution.JupiterEngineExecutionContext;
import org.junit.jupiter.engine.extension.ExtensionRegistry; import org.junit.jupiter.engine.extension.ExtensionRegistry;
import org.junit.platform.commons.JUnitException;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
import org.junit.platform.commons.util.Preconditions; import org.junit.platform.commons.util.Preconditions;
import org.junit.platform.engine.TestDescriptor; import org.junit.platform.engine.TestDescriptor;
Expand Down Expand Up @@ -59,12 +59,11 @@ public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext conte
ExtensionRegistry registry = populateNewExtensionRegistryFromExtendWith(getTestMethod(), ExtensionRegistry registry = populateNewExtensionRegistryFromExtendWith(getTestMethod(),
context.getExtensionRegistry()); context.getExtensionRegistry());


// The test instance should be properly maintained by the enclosing class's ExtensionContext. AbstractExtensionContext<?> extensionContext = new TestTemplateExtensionContext(context.getExtensionContext(),
Object testInstance = context.getExtensionContext().getTestInstance().orElseThrow(() -> new JUnitException( context.getExecutionListener(), this);
"Illegal state: test instance not present for method: " + getTestMethod().toGenericString())); // We don't require a test instance here but provide it to extensions should the enclosing class's

// ExtensionContext already contain one.
ExtensionContext extensionContext = new TestTemplateExtensionContext(context.getExtensionContext(), extensionContext.setTestInstance(context.getExtensionContext().getTestInstance().orElse(null));
context.getExecutionListener(), this, testInstance);


// @formatter:off // @formatter:off
return context.extend() return context.extend()
Expand Down
Expand Up @@ -8,18 +8,18 @@
* http://www.eclipse.org/legal/epl-v10.html * http://www.eclipse.org/legal/epl-v10.html
*/ */


package org.junit.jupiter.engine.descriptor; package org.junit.jupiter.engine.execution;


import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toCollection;
import static org.junit.platform.commons.meta.API.Usage.Internal;


import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;


import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.engine.execution.ExtensionValuesStore; import org.junit.platform.commons.meta.API;
import org.junit.jupiter.engine.execution.NamespaceAwareStore;
import org.junit.platform.commons.util.Preconditions; import org.junit.platform.commons.util.Preconditions;
import org.junit.platform.engine.EngineExecutionListener; import org.junit.platform.engine.EngineExecutionListener;
import org.junit.platform.engine.TestDescriptor; import org.junit.platform.engine.TestDescriptor;
Expand All @@ -29,25 +29,28 @@
/** /**
* @since 5.0 * @since 5.0
*/ */
abstract class AbstractExtensionContext<T extends TestDescriptor> implements ExtensionContext { @API(Internal)
public abstract class AbstractExtensionContext<T extends TestDescriptor> implements ExtensionContext {


private final ExtensionContext parent; private final ExtensionContext parent;
private final EngineExecutionListener engineExecutionListener; private final EngineExecutionListener engineExecutionListener;
private final T testDescriptor; private final T testDescriptor;
private final ExtensionValuesStore valuesStore; private final ExtensionValuesStore valuesStore;


AbstractExtensionContext(ExtensionContext parent, EngineExecutionListener engineExecutionListener, private Object testInstance;
T testDescriptor) {
protected AbstractExtensionContext(AbstractExtensionContext<?> parent,
EngineExecutionListener engineExecutionListener, T testDescriptor) {
this.parent = parent; this.parent = parent;
this.engineExecutionListener = engineExecutionListener; this.engineExecutionListener = engineExecutionListener;
this.testDescriptor = testDescriptor; this.testDescriptor = testDescriptor;
this.valuesStore = createStore(parent); this.valuesStore = createStore(parent);
} }


private ExtensionValuesStore createStore(ExtensionContext parent) { private ExtensionValuesStore createStore(AbstractExtensionContext<?> parent) {
ExtensionValuesStore parentStore = null; ExtensionValuesStore parentStore = null;
if (parent != null) { if (parent != null) {
parentStore = ((AbstractExtensionContext<?>) parent).valuesStore; parentStore = parent.valuesStore;
} }
return new ExtensionValuesStore(parentStore); return new ExtensionValuesStore(parentStore);
} }
Expand All @@ -62,6 +65,15 @@ public String getDisplayName() {
return getTestDescriptor().getDisplayName(); return getTestDescriptor().getDisplayName();
} }


public void setTestInstance(Object testInstance) {
this.testInstance = testInstance;
}

@Override
public Optional<Object> getTestInstance() {
return Optional.ofNullable(this.testInstance);
}

@Override @Override
public void publishReportEntry(Map<String, String> values) { public void publishReportEntry(Map<String, String> values) {
engineExecutionListener.reportingEntryPublished(this.testDescriptor, ReportEntry.from(values)); engineExecutionListener.reportingEntryPublished(this.testDescriptor, ReportEntry.from(values));
Expand Down
Expand Up @@ -12,7 +12,6 @@


import static org.junit.platform.commons.meta.API.Usage.Internal; import static org.junit.platform.commons.meta.API.Usage.Internal;


import org.junit.jupiter.api.extension.ExtensionContext;
import org.junit.jupiter.engine.extension.ExtensionRegistry; import org.junit.jupiter.engine.extension.ExtensionRegistry;
import org.junit.platform.commons.JUnitException; import org.junit.platform.commons.JUnitException;
import org.junit.platform.commons.meta.API; import org.junit.platform.commons.meta.API;
Expand Down Expand Up @@ -56,7 +55,7 @@ public ExtensionRegistry getExtensionRegistry() {
return this.state.extensionRegistry; return this.state.extensionRegistry;
} }


public ExtensionContext getExtensionContext() { public AbstractExtensionContext<?> getExtensionContext() {
return this.state.extensionContext; return this.state.extensionContext;
} }


Expand All @@ -82,7 +81,7 @@ private static final class State implements Cloneable {
final ConfigurationParameters configurationParameters; final ConfigurationParameters configurationParameters;
TestInstanceProvider testInstanceProvider; TestInstanceProvider testInstanceProvider;
ExtensionRegistry extensionRegistry; ExtensionRegistry extensionRegistry;
ExtensionContext extensionContext; AbstractExtensionContext<?> extensionContext;
ThrowableCollector throwableCollector; ThrowableCollector throwableCollector;


State(EngineExecutionListener executionListener, ConfigurationParameters configurationParameters) { State(EngineExecutionListener executionListener, ConfigurationParameters configurationParameters) {
Expand Down Expand Up @@ -121,7 +120,7 @@ public Builder withExtensionRegistry(ExtensionRegistry extensionRegistry) {
return this; return this;
} }


public Builder withExtensionContext(ExtensionContext extensionContext) { public Builder withExtensionContext(AbstractExtensionContext<?> extensionContext) {
newState().extensionContext = extensionContext; newState().extensionContext = extensionContext;
return this; return this;
} }
Expand Down

0 comments on commit 7abfa00

Please sign in to comment.