Annotation Interface EnabledForJreRange
@EnabledForJreRange
is used to signal that the annotated test class or
test method is only enabled for a specific range of Java Runtime
Environment (JRE) versions.
Version ranges can be specified as JRE
enum constants via
min
and max
or as integers via
minVersion
and maxVersion
.
When applied at the class level, all test methods within that class will be enabled on the same specified JRE versions.
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
(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.
- Since:
- 5.6
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionCustom reason to provide if the test or container is disabled.Java Runtime Environment version which is used as the upper boundary for the version range that determines if the annotated class or method should be enabled, specified as aJRE
enum constant.int
Java Runtime Environment version which is used as the upper boundary for the version range that determines if the annotated class or method should be enabled, specified as an integer.Java Runtime Environment version which is used as the lower boundary for the version range that determines if the annotated class or method should be enabled, specified as aJRE
enum constant.int
Java Runtime Environment version which is used as the lower boundary for the version range that determines if the annotated class or method should be enabled, specified as an integer.
-
Element Details
-
min
JRE minJava Runtime Environment version which is used as the lower boundary for the version range that determines if the annotated class or method should be enabled, specified as aJRE
enum constant.If a
JRE
enum constant does not exist for a particular JRE version, you can specify the minimum version viaminVersion
instead.Defaults to
UNDEFINED
, which will be interpreted asJAVA_8
if theminVersion
is not set.- See Also:
- Default:
UNDEFINED
-
max
JRE maxJava Runtime Environment version which is used as the upper boundary for the version range that determines if the annotated class or method should be enabled, specified as aJRE
enum constant.If a
JRE
enum constant does not exist for a particular JRE version, you can specify the maximum version viamaxVersion
instead.Defaults to
UNDEFINED
, which will be interpreted asOTHER
if themaxVersion
is not set.- See Also:
- Default:
UNDEFINED
-
minVersion
Java Runtime Environment version which is used as the lower boundary for the version range that determines if the annotated class or method should be enabled, specified as an integer.If a
JRE
enum constant exists for the particular JRE version, you can specify the minimum version viamin
instead.Defaults to
-1
to signal thatmin
should be used instead.- Since:
- 5.12
- See Also:
- Default:
-1
-
maxVersion
Java Runtime Environment version which is used as the upper boundary for the version range that determines if the annotated class or method should be enabled, specified as an integer.If a
JRE
enum constant exists for the particular JRE version, you can specify the maximum version viamax
instead.Defaults to
-1
to signal thatmax
should be used instead.- Since:
- 5.12
- See Also:
- Default:
-1
-
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:
""
-