Annotation Interface EnabledIfSystemProperty
@EnabledIfSystemProperty
is used to signal that the annotated test
class or test method is only enabled if the value of the specified
system property matches the specified
regular expression.
When declared at the class level, the result will apply to all test methods within that class as well.
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
@BeforeEach
methods, @AfterEach
methods, 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 @BeforeAll
methods, @AfterAll
methods, and
corresponding extension APIs.
If the specified system property is undefined, the annotated class or method will be disabled.
This annotation may be used as a meta-annotation in order to create a custom composed annotation that inherits the semantics of this annotation.
As of JUnit Jupiter 5.6, this annotation is a repeatable annotation. Consequently, this annotation may be declared multiple
times on an AnnotatedElement
(i.e.,
test interface, test class, or test method). Specifically, this annotation will
be found if it is directly present, indirectly present, or meta-present on a
given element.
- Since:
- 5.1
- See Also:
-
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionCustom reason to provide if the test or container is disabled.
-
Element Details
-
named
String namedThe name of the JVM system property to retrieve.- Returns:
- the system property name; never blank
- See Also:
-
matches
String matchesA regular expression that will be used to match against the retrieved value of thenamed()
JVM system property.- Returns:
- the regular expression; never blank
- See Also:
-
disabledReason
Custom reason to provide if the test or container is disabled.If a custom reason is supplied, it will be combined with the default reason for this annotation. If a custom reason is not supplied, the default reason will be used.
- Since:
- 5.7
- Default:
""
-