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

public @Interface DisabledOnOs

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

@DisabledOnOs is used to signal that the annotated test class or test method is disabled on one or more specified operating systems or on one or more specified architectures

If operating systems and architectures are specified, the annotated test class or test method is disabled if both conditions apply.

When applied at the class level, all test methods within that class will be disabled on the same specified operating systems, architectures, or the specified combinations of both.

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.

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 an AnnotatedElement such as a 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.

Since
5.1
See Also
OS, org.junit.jupiter.api.condition.EnabledIf, org.junit.jupiter.api.condition.DisabledIf, org.junit.jupiter.api.condition.EnabledOnOs, 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.DisabledIfSystemProperty, 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[]
architectures()

Architectures on which the annotated class or method should be disabled.

public String
disabledReason()

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

public OS[]
value()

Operating systems on which the annotated class or method should be disabled.

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString

Method Detail

architecturesback to summary
public String[] architectures()

Architectures on which the annotated class or method should be disabled.

Each architecture will be compared to the value returned from System.getProperty("os.arch"), ignoring case.

Annotations
@API
status:STABLE
since:5.9
Since
5.9
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
valueback to summary
public OS[] value()

Operating systems on which the annotated class or method should be disabled.

See Also
OS