Annotation Type DefaultTimeZone


  • @Retention(RUNTIME)
    @Target({METHOD,TYPE})
    @Inherited
    @ExtendWith(DefaultTimeZoneExtension.class)
    public @interface DefaultTimeZone
    @DefaultTimeZone is a JUnit Jupiter extension to change the value returned by TimeZone.getDefault() for a test execution.

    The TimeZone to set as the default TimeZone is configured by specifying the TimeZone ID as defined by TimeZone.getTimeZone(String). After the annotated element has been executed, the default TimeZone will be restored to its original value.

    @DefaultTimeZone 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 TimeZone will be the default TimeZone for all tests inside that class. Any method level configurations will override the class level default TimeZone.

    During parallel test execution, all tests annotated with DefaultTimeZone, ReadsDefaultTimeZone, and WritesDefaultTimeZone 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:
    TimeZone.getDefault(), DefaultLocale
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.String value
      The ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00".
    • Element Detail

      • value

        java.lang.String value
        The ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00". Note that the support of abbreviations is for JDK 1.1.x compatibility only and full names should be used.