Skip to content

Commit 2525748

Browse files
authored
Allow @Container to be used as a meta-annotation (#6914)
Fixes #6913
1 parent 0bf52a9 commit 2525748

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

modules/junit-jupiter/src/main/java/org/testcontainers/junit/jupiter/Container.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*
1212
* @see Testcontainers
1313
*/
14-
@Target(ElementType.FIELD)
14+
@Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE })
1515
@Retention(RetentionPolicy.RUNTIME)
1616
public @interface Container {
1717
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package org.testcontainers.junit.jupiter;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.testcontainers.containers.PostgreSQLContainer;
5+
6+
import java.lang.annotation.Retention;
7+
import java.lang.annotation.RetentionPolicy;
8+
9+
import static org.assertj.core.api.Assertions.assertThat;
10+
11+
@Testcontainers
12+
class MetaAnnotationTest {
13+
14+
@TcContainer
15+
private static final PostgreSQLContainer<?> POSTGRESQL = new PostgreSQLContainer<>(
16+
JUnitJupiterTestImages.POSTGRES_IMAGE
17+
);
18+
19+
@Test
20+
void test() {
21+
assertThat(POSTGRESQL.isRunning()).isTrue();
22+
}
23+
}
24+
25+
@Container
26+
@Retention(RetentionPolicy.RUNTIME)
27+
@interface TcContainer {
28+
}

0 commit comments

Comments
 (0)