Top Description Methods
org.junit.jupiter.api.condition

public @Interface DisabledIfSystemProperty

extends Annotation
Annotations
@Target:TYPE, METHOD
@Retention:RUNTIME
@Documented
@Repeatable:DisabledIfSystemProperties
@ExtendWith:DisabledIfSystemPropertyCondition
@API
status:STABLE
since:5.1
@SuppressWarnings:exports
Static Imports
org.apiguardian.api.API.Status.STABLE

@DisabledIfSystemProperty is used to signal that the annotated test class or test method is disabled 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 presence of this annotation will have no effect on whether or not the class or method is 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.

This annotation is a repeatable annotation and may be declared multiple times on an AnnotatedElement such as a 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
org.junit.jupiter.api.condition.EnabledIf, org.junit.jupiter.api.condition.DisabledIf, org.junit.jupiter.api.condition.EnabledOnOs, org.junit.jupiter.api.condition.DisabledOnOs, org.junit.jupiter.api.condition.EnabledOnJre, org.junit.jupiter.api.condition.DisabledOnJre, org.junit.jupiter.api.condition.EnabledForJreRange, org.junit.jupiter.api.condition.DisabledForJreRange, org.junit.jupiter.api.condition.EnabledInNativeImage, org.junit.jupiter.api.condition.DisabledInNativeImage, org.junit.jupiter.api.condition.EnabledIfSystemProperty, org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable, org.junit.jupiter.api.condition.DisabledIfEnvironmentVariable, org.junit.jupiter.api.Disabled

Method Summary

Modifier and TypeMethod and Description
public String
disabledReason()

Custom reason to provide if the test or container is disabled.

public String

Returns:

the regular expression; never blank
matches
()

A regular expression that will be used to match against the retrieved value of the named JVM system property.

public String

Returns:

the system property name; never blank
named
()

The name of the JVM system property to retrieve.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

disabledReasonback to summary
public String 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.

Annotations
@API
status:STABLE
since:5.7
Since
5.7
matchesback to summary
public String matches()

A regular expression that will be used to match against the retrieved value of the named JVM system property.

Returns:String

the regular expression; never blank

See Also
String#matches(String), java.util.regex.Pattern
namedback to summary
public String named()

The name of the JVM system property to retrieve.

Returns:String

the system property name; never blank

See Also
System#getProperty(String)