@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented @ExtendWith(org.junit.jupiter.api.condition.EnabledIfCondition.class) @API(status=STABLE, since="5.7") public @interface EnabledIf
@EnabledIf
is used to signal that the annotated test class or
test method is enabled only if the provided condition
evaluates to true
.
When applied at the class level, all test methods within that class will be disabled on the same condition.
If a test method is disabled via this annotation, that does not prevent
the test class from being instantiated. Rather, it prevents the execution of
the test method and method-level lifecycle callbacks such as @BeforeEach
methods, @AfterEach
methods, and corresponding extension APIs.
This annotation may be used as a meta-annotation in order to create a custom composed annotation that inherits the semantics of this annotation.
Warning
This annotation can only be declared once on anAnnotatedElement
(i.e., test
interface, test class, or test method). If this annotation is directly
present, indirectly present, or meta-present multiple times on a given
element, only the first such annotation discovered by JUnit will be used;
any additional declarations will be silently ignored. Note, however, that
this annotation may be used in conjunction with other @Enabled*
or
@Disabled*
annotations in this package.-
Required Element Summary
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description String
disabledReason
Reason to provide if the test of container ends up being disabled.
-
Element Details
-
value
String valueThe name of a method within the test class or in external classes to use as a condition for the container's execution.Condition methods must be static if located outside the test class, or if
@EnabledIf
is used at class level.Condition methods in external classes must be referenced by fully qualified method name — for example,
com.example.Conditions#isEncryptionSupported
.
-
-
-
disabledReason
String disabledReasonReason to provide if the test of container ends up being disabled.- Default:
- ""
-