Class Constants

java.lang.Object
org.junit.jupiter.engine.Constants

@API(status=STABLE, since="5.0") public final class Constants extends Object
Collection of constants related to the JupiterTestEngine.

Supported Values for Timeouts

Values for timeouts must be in the following, case-insensitive format: <number> [ns|μs|ms|s|m|h|d]. The space between the number and the unit may be omitted. Specifying no unit is equivalent to using seconds.

Value Equivalent annotation
42 @Timeout(42)
42 ns @Timeout(value = 42, unit = NANOSECONDS)
42 μs @Timeout(value = 42, unit = MICROSECONDS)
42 ms @Timeout(value = 42, unit = MILLISECONDS)
42 s @Timeout(value = 42, unit = SECONDS)
42 m @Timeout(value = 42, unit = MINUTES)
42 h @Timeout(value = 42, unit = HOURS)
42 d @Timeout(value = 42, unit = DAYS)
Since:
5.0
See Also:
  • Field Details

    • DEACTIVATE_CONDITIONS_PATTERN_PROPERTY_NAME

      public static final String DEACTIVATE_CONDITIONS_PATTERN_PROPERTY_NAME
      Property name used to provide patterns for deactivating conditions: "junit.jupiter.conditions.deactivate"

      Pattern Matching Syntax

      If the property value consists solely of an asterisk (*), all conditions will be deactivated. Otherwise, the property value will be treated as a comma-separated list of patterns where each individual pattern will be matched against the fully qualified class name (FQCN) of each registered condition. Any dot (.) in a pattern will match against a dot (.) or a dollar sign ($) in a FQCN. Any asterisk (*) will match against one or more characters in a FQCN. All other characters in a pattern will be matched one-to-one against a FQCN.

      Examples

      • *: deactivates all conditions.
      • org.junit.*: deactivates every condition under the org.junit base package and any of its subpackages.
      • *.MyCondition: deactivates every condition whose simple class name is exactly MyCondition.
      • *System*: deactivates every condition whose FQCN contains System.
      • *System*, *Dev*: deactivates every condition whose FQCN contains System or Dev.
      • org.example.MyCondition, org.example.TheirCondition: deactivates conditions whose FQCN is exactly org.example.MyCondition or org.example.TheirCondition.
      See Also:
    • DEACTIVATE_ALL_CONDITIONS_PATTERN

      public static final String DEACTIVATE_ALL_CONDITIONS_PATTERN
      Wildcard pattern which signals that all conditions should be deactivated: "*"
      See Also:
    • DEFAULT_DISPLAY_NAME_GENERATOR_PROPERTY_NAME

      public static final String DEFAULT_DISPLAY_NAME_GENERATOR_PROPERTY_NAME
      Property name used to set the default display name generator class name: "junit.jupiter.displayname.generator.default"

      Supported Values

      Supported values include fully qualified class names for types that implement DisplayNameGenerator.

      If not specified, the default is DisplayNameGenerator.Standard.

      See Also:
    • EXTENSIONS_AUTODETECTION_ENABLED_PROPERTY_NAME

      public static final String EXTENSIONS_AUTODETECTION_ENABLED_PROPERTY_NAME
      Property name used to enable auto-detection and registration of extensions via Java's ServiceLoader mechanism: "junit.jupiter.extensions.autodetection.enabled"

      The default behavior is not to perform auto-detection.

      See Also:
    • DEFAULT_TEST_INSTANCE_LIFECYCLE_PROPERTY_NAME

      public static final String DEFAULT_TEST_INSTANCE_LIFECYCLE_PROPERTY_NAME
      Property name used to set the default test instance lifecycle mode: "junit.jupiter.testinstance.lifecycle.default"

      Supported Values

      Supported values include names of enum constants defined in TestInstance.Lifecycle, ignoring case.

      If not specified, the default is "per_method" which corresponds to @TestInstance(Lifecycle.PER_METHOD).

      See Also:
    • PARALLEL_EXECUTION_ENABLED_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.3") public static final String PARALLEL_EXECUTION_ENABLED_PROPERTY_NAME
      Property name used to enable parallel test execution: "junit.jupiter.execution.parallel.enabled"

      By default, tests are executed sequentially in a single thread.

      Since:
      5.3
      See Also:
    • DEFAULT_PARALLEL_EXECUTION_MODE

      @API(status=EXPERIMENTAL, since="5.4") public static final String DEFAULT_PARALLEL_EXECUTION_MODE
      Property name used to set the default test execution mode: "junit.jupiter.execution.parallel.mode.default"

      This setting is only effective if parallel execution is enabled.

      Supported Values

      Supported values include names of enum constants defined in ExecutionMode, ignoring case.

      If not specified, the default is "same_thread" which corresponds to @Execution(ExecutionMode.SAME_THREAD).

      Since:
      5.4
      See Also:
    • DEFAULT_CLASSES_EXECUTION_MODE_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_CLASSES_EXECUTION_MODE_PROPERTY_NAME
      Property name used to set the default test execution mode for top-level classes: "junit.jupiter.execution.parallel.mode.classes.default"

      This setting is only effective if parallel execution is enabled.

      Supported Values

      Supported values include names of enum constants defined in ExecutionMode, ignoring case.

      If not specified, it will be resolved into the same value as DEFAULT_PARALLEL_EXECUTION_MODE.

      Since:
      5.4
      See Also:
    • PARALLEL_CONFIG_STRATEGY_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.3") public static final String PARALLEL_CONFIG_STRATEGY_PROPERTY_NAME
      Property name used to select the ParallelExecutionConfigurationStrategy: "junit.jupiter.execution.parallel.config.strategy"

      Potential values: dynamic (default), fixed, or custom.

      Since:
      5.3
      See Also:
    • PARALLEL_CONFIG_FIXED_PARALLELISM_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.3") public static final String PARALLEL_CONFIG_FIXED_PARALLELISM_PROPERTY_NAME
      Property name used to set the desired parallelism for the fixed configuration strategy: "junit.jupiter.execution.parallel.config.fixed.parallelism"

      No default value; must be a positive integer.

      Since:
      5.3
      See Also:
    • PARALLEL_CONFIG_DYNAMIC_FACTOR_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.3") public static final String PARALLEL_CONFIG_DYNAMIC_FACTOR_PROPERTY_NAME
      Property name used to set the factor to be multiplied with the number of available processors/cores to determine the desired parallelism for the dynamic configuration strategy: "junit.jupiter.execution.parallel.config.dynamic.factor"

      Value must be a positive decimal number; defaults to 1.

      Since:
      5.3
      See Also:
    • PARALLEL_CONFIG_CUSTOM_CLASS_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.3") public static final String PARALLEL_CONFIG_CUSTOM_CLASS_PROPERTY_NAME
      Property name used to specify the fully qualified class name of the ParallelExecutionConfigurationStrategy to be used for the custom configuration strategy: "junit.jupiter.execution.parallel.config.custom.class"
      Since:
      5.3
      See Also:
    • DEFAULT_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all testable and lifecycle methods.

      The value of this property will be used unless overridden by a more specific property or a @Timeout annotation present on the method or on an enclosing test class (for testable methods).

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_TESTABLE_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_TESTABLE_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all testable methods.

      The value of this property will be used unless overridden by a more specific property or a @Timeout annotation present on the testable method or on an enclosing test class.

      This property overrides the "junit.jupiter.execution.timeout.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_TEST_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_TEST_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @Test methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @Test method or on an enclosing test class.

      This property overrides the "junit.jupiter.execution.timeout.testable.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_TEST_TEMPLATE_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_TEST_TEMPLATE_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @TestTemplate methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @TestTemplate method or on an enclosing test class.

      This property overrides the "junit.jupiter.execution.timeout.testable.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_TEST_FACTORY_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_TEST_FACTORY_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @TestFactory methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @TestFactory method or on an enclosing test class.

      This property overrides the "junit.jupiter.execution.timeout.testable.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_LIFECYCLE_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_LIFECYCLE_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all lifecycle methods.

      The value of this property will be used unless overridden by a more specific property or a @Timeout annotation present on the lifecycle method.

      This property overrides the "junit.jupiter.execution.timeout.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_BEFORE_ALL_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_BEFORE_ALL_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @BeforeAll methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @BeforeAll method.

      This property overrides the "junit.jupiter.execution.timeout.lifecycle.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_BEFORE_EACH_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_BEFORE_EACH_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @BeforeEach methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @BeforeEach method.

      This property overrides the "junit.jupiter.execution.timeout.lifecycle.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_AFTER_EACH_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_AFTER_EACH_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @AfterEach methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @AfterEach method.

      This property overrides the "junit.jupiter.execution.timeout.lifecycle.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • DEFAULT_AFTER_ALL_METHOD_TIMEOUT_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.5") public static final String DEFAULT_AFTER_ALL_METHOD_TIMEOUT_PROPERTY_NAME
      Property name used to set the default timeout for all @AfterAll methods.

      The value of this property will be used unless overridden by a @Timeout annotation present on the @AfterAll method.

      This property overrides the "junit.jupiter.execution.timeout.lifecycle.method.default" property.

      Please refer to the class description for the definition of supported values.

      Since:
      5.5
      See Also:
    • TIMEOUT_MODE_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.6") public static final String TIMEOUT_MODE_PROPERTY_NAME
      Property used to determine if timeouts are applied to tests: "junit.jupiter.execution.timeout.mode".

      The value of this property will be used to toggle whether @Timeout is applied to tests.

      Supported timeout mode values:

      • enabled: enables timeouts
      • disabled: disables timeouts
      • disabled_on_debug: disables timeouts while debugging

      If not specified, the default is enabled.

      Since:
      5.6
      See Also:
    • DEFAULT_TEST_METHOD_ORDER_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.7") public static final String DEFAULT_TEST_METHOD_ORDER_PROPERTY_NAME
      Property name used to set the default method orderer class name: "junit.jupiter.testmethod.order.default"

      Supported Values

      Supported values include fully qualified class names for types that implement MethodOrderer.

      If not specified, test methods will be ordered using an algorithm that is deterministic but intentionally non-obvious.

      See Also:
    • DEFAULT_TEST_CLASS_ORDER_PROPERTY_NAME

      @API(status=EXPERIMENTAL, since="5.8") public static final String DEFAULT_TEST_CLASS_ORDER_PROPERTY_NAME
      Property name used to set the default class orderer class name: "junit.jupiter.testclass.order.default"

      Supported Values

      Supported values include fully qualified class names for types that implement ClassOrderer.

      See Also:
    • TEMP_DIR_SCOPE_PROPERTY_NAME

      @Deprecated @API(status=DEPRECATED, since="5.8") public static final String TEMP_DIR_SCOPE_PROPERTY_NAME
      Deprecated.
      Property name used to set the scope of temporary directories created via @TempDir annotation: "junit.jupiter.tempdir.scope"

      Supported Values

      • per_context: creates a single temporary directory for the entire test class or method, depending on where it's first declared
      • per_declaration: creates separate temporary directories for each declaration site of the @TempDir annotation.

      If not specified, the default is per_declaration.

      See Also: