Annotation Type DefaultLocale
@DefaultLocale
is a JUnit Jupiter extension to change the value
returned by Locale.getDefault()
for a test execution.
The Locale
to set as the default locale can be
configured in several ways:
- using a
language tag
- using a
language
- using a
language and a county
- using a
language, a county, and a variant
If a language tag is set, none of the other fields must be set. Otherwise an
ExtensionConfigurationException
will
be thrown. Specifying a country()
but no language()
, or a
variant()
but no country()
and language()
will
also cause an ExtensionConfigurationException
. After the annotated
element has been executed, the default Locale
will be restored to
its original value.
@DefaultLocale
can be used on the method and on the class level. It
is inherited from higher-level containers, but can only be used once per method
or class. If a class is annotated, the configured Locale
will be the
default Locale
for all tests inside that class. Any method level
configurations will override the class level default Locale
.
During
parallel test execution,
all tests annotated with DefaultLocale
, ReadsDefaultLocale
, and WritesDefaultLocale
are scheduled in a way that guarantees correctness under mutation of shared global state.
For more details and examples, see
the documentation on @DefaultLocale and @DefaultTimeZone
.
- Since:
- 0.2
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionAn ISO 3166 alpha-2 country code or a UN M.49 numeric-3 area code.An ISO 639 alpha-2 or alpha-3 language code, or a language subtag up to 8 characters in length.An language tag string as specified by IETF BCP 47.Any arbitrary value used to indicate a variation of aLocale
.
-
Element Details
-
value
String valueAn language tag string as specified by IETF BCP 47. SeeLocale.forLanguageTag(String)
for more information about valid language tag values.- Since:
- 0.3
- Default:
- ""
-
language
String languageAn ISO 639 alpha-2 or alpha-3 language code, or a language subtag up to 8 characters in length. See theLocale
class description about valid language values.- Default:
- ""
-
country
String countryAn ISO 3166 alpha-2 country code or a UN M.49 numeric-3 area code. See theLocale
class description about valid country values.- Default:
- ""
-
variant
String variantAny arbitrary value used to indicate a variation of aLocale
. See theLocale
class description for the details.- Default:
- ""
-