Annotation Type EnabledIf
-
@Target({TYPE,METHOD}) @Retention(RUNTIME) @Documented @ExtendWith(org.junit.jupiter.api.condition.EnabledIfCondition.class) @API(status=STABLE, since="5.7") public @interface EnabledIf@EnabledIfis used to signal that the annotated test class or test method is only enabled if the provided condition evaluates totrue.When applied at the class level, all test methods within that class will be enabled on the same condition.
This annotation is not
@Inherited. Consequently, if you wish to apply the same semantics to a subclass, this annotation must be redeclared on the subclass.If a test method is disabled via this annotation, that prevents execution of the test method and method-level lifecycle callbacks such as
@BeforeEachmethods,@AfterEachmethods, and corresponding extension APIs. However, that does not prevent the test class from being instantiated, and it does not prevent the execution of class-level lifecycle callbacks such as@BeforeAllmethods,@AfterAllmethods, 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
Required Elements Modifier and Type Required Element Description java.lang.StringvalueThe name of a method within the test class or in an external class to use as a condition for the test's or container's execution.
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description java.lang.StringdisabledReasonCustom reason to provide if the test or container is disabled.
-
-
-
Element Detail
-
value
java.lang.String value
The name of a method within the test class or in an external class to use as a condition for the test's or container's execution.Condition methods must be static if located outside the test class or if
@EnabledIfis used at the class level.A condition method in an external class must be referenced by its fully qualified method name — for example,
com.example.Conditions#isEncryptionSupported.
-
-