diff --git a/documentation/src/docs/asciidoc/release-notes/release-notes-5.12.0-M1.adoc b/documentation/src/docs/asciidoc/release-notes/release-notes-5.12.0-M1.adoc index a716f5baa123..889f2ee6865c 100644 --- a/documentation/src/docs/asciidoc/release-notes/release-notes-5.12.0-M1.adoc +++ b/documentation/src/docs/asciidoc/release-notes/release-notes-5.12.0-M1.adoc @@ -58,9 +58,10 @@ JUnit repository on GitHub. extensions. * Allow determining "shared resources" at runtime via the new `@ResourceLock#providers` attribute that accepts implementations of `ResourceLocksProvider`. -* Overriding `Extension.getExtensionContextScopeDuringTestInstanceConstruction()` enables - using a test-scoped `ExtensionContext` in `Extension` methods called during test class - construction. This behavior will become the default in future versions of JUnit. +* Overriding `Extension.getExtensionContextScopeDuringTestClassInstanceConstruction()` + enables using a test-scoped `ExtensionContext` in `Extension` methods called during test + class instance construction. This behavior will become the default in future versions of + JUnit. * `@TempDir` is now supported on test class constructors. diff --git a/documentation/src/docs/asciidoc/user-guide/extensions.adoc b/documentation/src/docs/asciidoc/user-guide/extensions.adoc index 16452ced7de1..fbb6272f3a1c 100644 --- a/documentation/src/docs/asciidoc/user-guide/extensions.adoc +++ b/documentation/src/docs/asciidoc/user-guide/extensions.adoc @@ -384,9 +384,9 @@ instances and their lifecycle. [NOTE] ==== You may override the -`{Extension}.getExtensionContextScopeDuringTestInstanceConstruction(...)` method to return -`TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific data -available to your implementation. +`{Extension}.getExtensionContextScopeDuringTestClassInstanceConstruction(...)` method to +return `TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific +data available to your implementation. ==== [[extensions-test-instance-factories]] @@ -418,9 +418,9 @@ registered for any specific test class. [NOTE] ==== You may override the -`{Extension}.getExtensionContextScopeDuringTestInstanceConstruction(...)` method to return -`TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific data -available to your implementation. +`{Extension}.getExtensionContextScopeDuringTestClassInstanceConstruction(...)` method to +return `TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific +data available to your implementation. ==== [[extensions-test-instance-post-processing]] @@ -438,9 +438,9 @@ For a concrete example, consult the source code for the `{MockitoExtension}` and [NOTE] ==== You may override the -`{Extension}.getExtensionContextScopeDuringTestInstanceConstruction(...)` method to return -`TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific data -available to your implementation. +`{Extension}.getExtensionContextScopeDuringTestClassInstanceConstruction(...)` method to +return `TEST_SCOPED` for revised handling of `CloseableResource` and to make test-specific +data available to your implementation. ==== [[extensions-test-instance-pre-destroy-callback]] @@ -492,10 +492,10 @@ those provided in `java.lang.reflect.Parameter` in order to avoid this bug in th [NOTE] ==== You may override the -`{Extension}.getExtensionContextScopeDuringTestInstanceConstruction(...)` method to return -`TEST_SCOPED` to support injecting test specific data into constructor parameters of the -test instance. Doing so causes a test-specific `{ExtensionContext}` to be used while -resolving constructor parameters, unless the +`{Extension}.getExtensionContextScopeDuringTestClassInstanceConstruction(...)` method to +return `TEST_SCOPED` to support injecting test specific data into constructor parameters +of the test class instance. Doing so causes a test-specific `{ExtensionContext}` to be +used while resolving constructor parameters, unless the <> is set to `PER_CLASS`. ==== @@ -732,8 +732,8 @@ include::{testDir}/example/interceptor/SwingEdtInterceptor.java[tags=user_guide] [NOTE] ==== You may override the -`{Extension}.getExtensionContextScopeDuringTestInstanceConstruction(...)` method to return -`TEST_SCOPED` to make test-specific data available to your implementation of +`{Extension}.getExtensionContextScopeDuringTestClassInstanceConstruction(...)` method to +return `TEST_SCOPED` to make test-specific data available to your implementation of `interceptTestClassConstructor` and for a revised scope of the provided `Store` instance. ==== diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/Extension.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/Extension.java index ac63d0c2eae2..78c68ab96867 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/Extension.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/Extension.java @@ -10,14 +10,9 @@ package org.junit.jupiter.api.extension; -import static org.apiguardian.api.API.Status.DEPRECATED; -import static org.apiguardian.api.API.Status.EXPERIMENTAL; import static org.apiguardian.api.API.Status.STABLE; import org.apiguardian.api.API; -import org.junit.jupiter.api.TestInstance; -import org.junit.jupiter.api.extension.ExtensionContext.Store; -import org.junit.jupiter.api.extension.ExtensionContext.Store.CloseableResource; /** * Marker interface for all extensions. @@ -43,97 +38,4 @@ */ @API(status = STABLE, since = "5.0") public interface Extension { - - /** - * Whether this extension should receive a test-scoped - * {@link ExtensionContext} during the creation of test instances. - * - *

If an extension returns - * {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} from this method, - * the following extension methods will be called with a test-scoped - * {@link ExtensionContext} instead of a class-scoped one, unless the - * {@link TestInstance.Lifecycle#PER_CLASS PER_CLASS} lifecycle is used: - * - *

- * - *

In such cases, implementations of these extension callbacks can - * observe the following differences: - * - *

- * - *

Note: The behavior which is enabled by returning - * {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} from this method - * will become the default in future versions of JUnit. To ensure future - * compatibility, extension implementors are therefore advised to opt in, - * even if they don't require the new functionality. - * - * @implNote There are no guarantees about how often this method is called. - * Therefore, implementations should be idempotent and avoid side - * effects. They may, however, cache the result for performance in - * the {@link Store Store} of the supplied - * {@link ExtensionContext}, if necessary. - * @param rootContext the root extension context to allow inspection of - * configuration parameters; never {@code null} - * @since 5.12 - * @see InvocationInterceptor#interceptTestClassConstructor - * @see ParameterResolver - * @see TestInstancePreConstructCallback - * @see TestInstancePostProcessor - * @see TestInstanceFactory - */ - @API(status = EXPERIMENTAL, since = "5.12") - default ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction(ExtensionContext rootContext) { - return ExtensionContextScope.DEFAULT; - } - - /** - * {@code ExtensionContextScope} is used to define the scope of the - * {@link ExtensionContext} passed to an extension during the creation of - * test instances. - * - * @since 5.12 - * @see org.junit.jupiter.api.extension.Extension#getExtensionContextScopeDuringTestInstanceConstruction - */ - @API(status = EXPERIMENTAL, since = "5.12") - enum ExtensionContextScope { - - /** - * The extension should receive an {@link ExtensionContext} scoped to - * the test class. - * - * @deprecated This behavior will be removed from future versions of - * JUnit and {@link #TEST_SCOPED} will become the default. - */ - @API(status = DEPRECATED, since = "5.12") // - @Deprecated - DEFAULT, - - /** - * The extension should receive an {@link ExtensionContext} scoped to - * the test instance. - */ - TEST_SCOPED - } - } diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/InvocationInterceptor.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/InvocationInterceptor.java index f54f8e1985b7..ae46fca1d5db 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/InvocationInterceptor.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/InvocationInterceptor.java @@ -51,7 +51,7 @@ * @see ExtensionContext */ @API(status = STABLE, since = "5.10") -public interface InvocationInterceptor extends Extension { +public interface InvocationInterceptor extends TestClassInstanceConstructionParticipatingExtension { /** * Intercept the invocation of a test class constructor. @@ -60,9 +60,9 @@ public interface InvocationInterceptor extends Extension { * (static initialization) when this method is invoked. * *

Extensions may override - * {@link #getExtensionContextScopeDuringTestInstanceConstruction} to make - * test-specific data available to the implementation of this method and for - * a revised scope of the provided {@link Store} instance. + * {@link #getExtensionContextScopeDuringTestClassInstanceConstruction} to + * make test-specific data available to the implementation of this method + * and for a revised scope of the provided {@link Store Store} instance. * * @param invocation the invocation that is being intercepted; never * {@code null} diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/ParameterResolver.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/ParameterResolver.java index 5cd86ad6a81d..7bb065e86ce1 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/ParameterResolver.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/ParameterResolver.java @@ -32,11 +32,12 @@ * {@code ParameterResolver}. * *

Extensions may override - * {@link #getExtensionContextScopeDuringTestInstanceConstruction} to support - * injecting test specific data into constructor parameters of the test - * instance. Returning {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} - * from this method, causes a test-specific {@link ExtensionContext} to be used - * while resolving constructor parameters, unless the lifecycle is set to + * {@link #getExtensionContextScopeDuringTestClassInstanceConstruction} to + * support injecting test specific data into constructor parameters of the test + * class instance. Returning + * {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} from this method, + * causes a test-specific {@link ExtensionContext} to be used while resolving + * constructor parameters, unless the lifecycle is set to * {@link TestInstance.Lifecycle#PER_CLASS PER_CLASS}. * *

Constructor Requirements

@@ -53,7 +54,7 @@ * @see TestInstancePreDestroyCallback */ @API(status = STABLE, since = "5.0") -public interface ParameterResolver extends Extension { +public interface ParameterResolver extends TestClassInstanceConstructionParticipatingExtension { /** * Determine if this resolver supports resolution of an argument for the diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestClassInstanceConstructionParticipatingExtension.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestClassInstanceConstructionParticipatingExtension.java new file mode 100644 index 000000000000..8fbc4044be3e --- /dev/null +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestClassInstanceConstructionParticipatingExtension.java @@ -0,0 +1,121 @@ +/* + * Copyright 2015-2024 the original author or authors. + * + * All rights reserved. This program and the accompanying materials are + * made available under the terms of the Eclipse Public License v2.0 which + * accompanies this distribution and is available at + * + * https://www.eclipse.org/legal/epl-v20.html + */ + +package org.junit.jupiter.api.extension; + +import static org.apiguardian.api.API.Status.DEPRECATED; +import static org.apiguardian.api.API.Status.EXPERIMENTAL; + +import org.apiguardian.api.API; +import org.junit.jupiter.api.TestInstance; + +/** + * Interface for {@link Extension Extensions} that participate in the + * construction of test class instances. + * + * @since 5.12 + * @see InvocationInterceptor#interceptTestClassConstructor + * @see ParameterResolver + * @see TestInstancePreConstructCallback + * @see TestInstancePostProcessor + * @see TestInstanceFactory + */ +@API(status = EXPERIMENTAL, since = "5.12") +public interface TestClassInstanceConstructionParticipatingExtension extends Extension { + + /** + * Whether this extension should receive a test-scoped + * {@link ExtensionContext} during the creation of test instances. + * + *

If an extension returns + * {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} from this method, + * the following extension methods will be called with a test-scoped + * {@link ExtensionContext} instead of a class-scoped one, unless the + * {@link TestInstance.Lifecycle#PER_CLASS PER_CLASS} lifecycle is used: + * + *

+ * + *

In such cases, implementations of these extension callbacks can + * observe the following differences: + * + *

+ * + *

Note: The behavior which is enabled by returning + * {@link ExtensionContextScope#TEST_SCOPED TEST_SCOPED} from this method + * will become the default in future versions of JUnit. To ensure future + * compatibility, extension implementors are therefore advised to opt in, + * even if they don't require the new functionality. + * + * @implNote There are no guarantees about how often this method is called. + * Therefore, implementations should be idempotent and avoid side + * effects. They may, however, cache the result for performance in + * the {@link ExtensionContext.Store Store} of the supplied + * {@link ExtensionContext}, if necessary. + * @param rootContext the root extension context to allow inspection of + * configuration parameters; never {@code null} + * @since 5.12 + */ + @API(status = EXPERIMENTAL, since = "5.12") + default ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( + ExtensionContext rootContext) { + return ExtensionContextScope.DEFAULT; + } + + /** + * {@code ExtensionContextScope} is used to define the scope of the + * {@link ExtensionContext} passed to an extension during the creation of + * test instances. + * + * @since 5.12 + * @see TestClassInstanceConstructionParticipatingExtension#getExtensionContextScopeDuringTestClassInstanceConstruction + */ + @API(status = EXPERIMENTAL, since = "5.12") + enum ExtensionContextScope { + + /** + * The extension should receive an {@link ExtensionContext} scoped to + * the test class. + * + * @deprecated This behavior will be removed from future versions of + * JUnit and {@link #TEST_SCOPED} will become the default. + */ + @API(status = DEPRECATED, since = "5.12") // + @Deprecated + DEFAULT, + + /** + * The extension should receive an {@link ExtensionContext} scoped to + * the test instance. + */ + TEST_SCOPED + } + +} diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstanceFactory.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstanceFactory.java index 04bb2e6e0be4..ab982d7e9b9c 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstanceFactory.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstanceFactory.java @@ -52,13 +52,13 @@ */ @FunctionalInterface @API(status = STABLE, since = "5.7") -public interface TestInstanceFactory extends Extension { +public interface TestInstanceFactory extends TestClassInstanceConstructionParticipatingExtension { /** * Callback for creating a test instance for the supplied context. * *

Extensions may override - * {@link #getExtensionContextScopeDuringTestInstanceConstruction} for + * {@link #getExtensionContextScopeDuringTestClassInstanceConstruction} for * revised handling of {@link CloseableResource CloseableResource} and to * make test-specific data available to your implementation. * diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePostProcessor.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePostProcessor.java index c3f18d1c4d44..ac61cb33db45 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePostProcessor.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePostProcessor.java @@ -41,13 +41,13 @@ */ @FunctionalInterface @API(status = STABLE, since = "5.0") -public interface TestInstancePostProcessor extends Extension { +public interface TestInstancePostProcessor extends TestClassInstanceConstructionParticipatingExtension { /** * Callback for post-processing the supplied test instance. * *

Extensions may override - * {@link #getExtensionContextScopeDuringTestInstanceConstruction} for + * {@link #getExtensionContextScopeDuringTestClassInstanceConstruction} for * revised handling of {@link CloseableResource CloseableResource} and to * make test-specific data available to your implementation. * diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreConstructCallback.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreConstructCallback.java index 6e946c6dd570..263d4b5525cc 100644 --- a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreConstructCallback.java +++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/extension/TestInstancePreConstructCallback.java @@ -44,16 +44,16 @@ */ @FunctionalInterface @API(status = STABLE, since = "5.11") -public interface TestInstancePreConstructCallback extends Extension { +public interface TestInstancePreConstructCallback extends TestClassInstanceConstructionParticipatingExtension { /** * Callback invoked prior to test instances being constructed. * *

Extensions may override - * {@link #getExtensionContextScopeDuringTestInstanceConstruction} to make - * test-specific data available to the implementation of this method and for - * a revised scope of the provided {@link ExtensionContext.Store Store} - * instance. + * {@link #getExtensionContextScopeDuringTestClassInstanceConstruction} to + * make test-specific data available to the implementation of this method + * and for a revised scope of the provided + * {@link ExtensionContext.Store Store} instance. * * @param factoryContext the context for the test instance about to be instantiated; * never {@code null} diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/ExtensionContextSupplier.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/ExtensionContextSupplier.java index ca998f47c433..f52c657f6ec2 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/ExtensionContextSupplier.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/execution/ExtensionContextSupplier.java @@ -11,17 +11,18 @@ package org.junit.jupiter.engine.execution; import static org.apiguardian.api.API.Status.INTERNAL; -import static org.junit.jupiter.api.extension.Extension.ExtensionContextScope.TEST_SCOPED; +import static org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension.ExtensionContextScope.TEST_SCOPED; import org.apiguardian.api.API; -import org.junit.jupiter.api.extension.Extension; import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension; /** * Container of two instances of {@link ExtensionContext} to simplify the legacy for - * #3445 (Introduction of Test-scoped ExtensionContext). + * #3445. * * @since 5.12 + * @see TestClassInstanceConstructionParticipatingExtension */ @API(status = INTERNAL, since = "5.12") public final class ExtensionContextSupplier { @@ -34,7 +35,7 @@ public ExtensionContextSupplier(ExtensionContext currentExtensionContext, Extens this.legacyExtensionContext = legacyExtensionContext; } - public ExtensionContext get(Extension extension) { + public ExtensionContext get(TestClassInstanceConstructionParticipatingExtension extension) { if (currentExtensionContext == legacyExtensionContext || isTestScoped(extension)) { return currentExtensionContext; } @@ -43,8 +44,8 @@ public ExtensionContext get(Extension extension) { } } - private boolean isTestScoped(Extension extension) { + private boolean isTestScoped(TestClassInstanceConstructionParticipatingExtension extension) { ExtensionContext rootContext = currentExtensionContext.getRoot(); - return extension.getExtensionContextScopeDuringTestInstanceConstruction(rootContext) == TEST_SCOPED; + return extension.getExtensionContextScopeDuringTestClassInstanceConstruction(rootContext) == TEST_SCOPED; } } diff --git a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java index 29dcac2179df..b45485f57cba 100644 --- a/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java +++ b/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/extension/TempDirectory.java @@ -12,7 +12,7 @@ import static java.nio.file.FileVisitResult.CONTINUE; import static java.util.stream.Collectors.joining; -import static org.junit.jupiter.api.extension.Extension.ExtensionContextScope.TEST_SCOPED; +import static org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension.ExtensionContextScope.TEST_SCOPED; import static org.junit.jupiter.api.io.CleanupMode.DEFAULT; import static org.junit.jupiter.api.io.CleanupMode.NEVER; import static org.junit.jupiter.api.io.CleanupMode.ON_SUCCESS; @@ -94,7 +94,8 @@ public TempDirectory(JupiterConfiguration configuration) { } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction(ExtensionContext rootContext) { + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( + ExtensionContext rootContext) { return TEST_SCOPED; } diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/ExtensionComposabilityTests.java b/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/ExtensionComposabilityTests.java index 1f7b9f1a0e81..bf909c77c332 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/ExtensionComposabilityTests.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/ExtensionComposabilityTests.java @@ -145,7 +145,7 @@ private List> findExtensionApis() { } private boolean isExtensionApi(Class candidate) { - return candidate.isInterface() && Extension.class.isAssignableFrom(candidate); + return candidate.isInterface() && (candidate != Extension.class) && Extension.class.isAssignableFrom(candidate); } private String methodSignature(Method method) { diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/KitchenSinkExtension.java b/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/KitchenSinkExtension.java index bb4d06029f92..8e9e7f70e26d 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/KitchenSinkExtension.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/api/extension/KitchenSinkExtension.java @@ -65,8 +65,11 @@ public class KitchenSinkExtension implements // @formatter:on { + // --- Test Class Instance Construction ------------------------------------ + @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction(ExtensionContext rootContext) { + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( + ExtensionContext rootContext) { return ExtensionContextScope.TEST_SCOPED; } diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstanceFactoryTests.java b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstanceFactoryTests.java index 1ce82d29d2f0..5c712c329c44 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstanceFactoryTests.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstanceFactoryTests.java @@ -13,7 +13,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS; -import static org.junit.jupiter.api.extension.Extension.ExtensionContextScope.TEST_SCOPED; +import static org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension.ExtensionContextScope.TEST_SCOPED; import static org.junit.platform.commons.util.ClassUtils.nullSafeToString; import static org.junit.platform.testkit.engine.EventConditions.container; import static org.junit.platform.testkit.engine.EventConditions.engine; @@ -708,7 +708,7 @@ public Object createTestInstance(TestInstanceFactoryContext factoryContext, Exte private static class FooInstanceFactory extends AbstractTestInstanceFactory { @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } @@ -716,7 +716,7 @@ public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruct private static class BarInstanceFactory extends AbstractTestInstanceFactory { @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePostProcessorTests.java b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePostProcessorTests.java index 0e3e2143468e..7d2c365ab092 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePostProcessorTests.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePostProcessorTests.java @@ -12,7 +12,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.extension.Extension.ExtensionContextScope.TEST_SCOPED; +import static org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension.ExtensionContextScope.TEST_SCOPED; import java.util.ArrayList; import java.util.HashMap; @@ -204,7 +204,7 @@ static class FooInstancePostProcessor extends AbstractInstancePostProcessor { } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } @@ -216,7 +216,7 @@ static class BarInstancePostProcessor extends AbstractInstancePostProcessor { } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } diff --git a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePreConstructCallbackTests.java b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePreConstructCallbackTests.java index 1043d8bbb0e2..98c32fac50a2 100644 --- a/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePreConstructCallbackTests.java +++ b/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/TestInstancePreConstructCallbackTests.java @@ -11,7 +11,7 @@ package org.junit.jupiter.engine.extension; import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.extension.Extension.ExtensionContextScope.TEST_SCOPED; +import static org.junit.jupiter.api.extension.TestClassInstanceConstructionParticipatingExtension.ExtensionContextScope.TEST_SCOPED; import java.util.ArrayList; import java.util.List; @@ -558,7 +558,7 @@ static class InstancePreConstructCallbackRecordingFoo extends AbstractTestInstan } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } @@ -570,7 +570,7 @@ static class InstancePreConstructCallbackRecordingBar extends AbstractTestInstan } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; } @@ -582,7 +582,7 @@ static class InstancePreConstructCallbackRecordingBaz extends AbstractTestInstan } @Override - public ExtensionContextScope getExtensionContextScopeDuringTestInstanceConstruction( + public ExtensionContextScope getExtensionContextScopeDuringTestClassInstanceConstruction( ExtensionContext rootContext) { return TEST_SCOPED; }