diff --git a/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/Testcontainers.java b/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/Testcontainers.java index 6a364cd19e6..8e05dfdc576 100644 --- a/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/Testcontainers.java +++ b/modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/Testcontainers.java @@ -3,6 +3,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -18,6 +19,10 @@ * last test method has executed. Containers declared as instance fields will * be started and stopped for every test method.

* + *

The annotation {@code @Testcontainers} can be used on a superclass in + * the test hierarchy as well. All subclasses will automatically inherit + * support for the extension.

+ * *

Note: This extension has only be tested with sequential * test execution. Using it with parallel test execution is unsupported and * may have unintended side effects.

@@ -52,6 +57,7 @@ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @ExtendWith(TestcontainersExtension.class) +@Inherited public @interface Testcontainers { /** diff --git a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/AbstractTestBase.java b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/AbstractTestBase.java index 930f16f035d..3766c3f7a60 100644 --- a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/AbstractTestBase.java +++ b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/AbstractTestBase.java @@ -3,8 +3,6 @@ import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import java.util.concurrent.atomic.AtomicLong; - @Testcontainers abstract class AbstractTestBase { diff --git a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/InheritedTests.java b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/InheritedTests.java index 37e535d25e7..f050e428692 100644 --- a/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/InheritedTests.java +++ b/modules/junit-jupiter/src/test/java/org/testcontainers/junit/jupiter/inheritance/InheritedTests.java @@ -6,7 +6,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -@Testcontainers class InheritedTests extends AbstractTestBase { @Container