Interface ConfigurationParameters

All Known Implementing Classes:
PrefixedConfigurationParameters

@API(status=STABLE, since="1.0") public interface ConfigurationParameters
Configuration parameters that TestEngines may use to influence test discovery and execution.

For example, the JUnit Jupiter engine uses a configuration parameter to enable IDEs and build tools to deactivate conditional test execution.

As of JUnit Platform 1.8, configuration parameters are also made available to implementations of the TestExecutionListener API via the TestPlan.

Since:
1.0
See Also:
TestEngine, EngineDiscoveryRequest, ExecutionRequest
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static String
    Name of the JUnit Platform configuration file: "junit-platform.properties".
  • Method Summary

    Modifier and Type
    Method
    Description
    get​(String key)
    Get the configuration parameter stored under the specified key.
    default <T> Optional<T>
    get​(String key, Function<String,​T> transformer)
    Get and transform the configuration parameter stored under the specified key using the specified transformer.
    Get the boolean configuration parameter stored under the specified key.
    int
    Get the number of configuration parameters stored directly in this ConfigurationParameters.
  • Field Details

    • CONFIG_FILE_NAME

      static final String CONFIG_FILE_NAME
      Name of the JUnit Platform configuration file: "junit-platform.properties".

      If a properties file with this name is present in the root of the classpath, it will be used as a source for configuration parameters. If multiple files are present, only the first one detected in the classpath will be used.

      See Also:
      Properties, Constant Field Values
  • Method Details

    • get

      Optional<String> get(String key)
      Get the configuration parameter stored under the specified key.

      If no such key is present in this ConfigurationParameters, an attempt will be made to look up the value as a JVM system property. If no such system property exists, an attempt will be made to look up the value in the JUnit Platform properties file.

      Parameters:
      key - the key to look up; never null or blank
      Returns:
      an Optional containing the value; never null but potentially empty
      See Also:
      getBoolean(String), System.getProperty(String), CONFIG_FILE_NAME
    • getBoolean

      Optional<Boolean> getBoolean(String key)
      Get the boolean configuration parameter stored under the specified key.

      If no such key is present in this ConfigurationParameters, an attempt will be made to look up the value as a JVM system property. If no such system property exists, an attempt will be made to look up the value in the JUnit Platform properties file.

      Parameters:
      key - the key to look up; never null or blank
      Returns:
      an Optional containing the value; never null but potentially empty
      See Also:
      get(String), Boolean.parseBoolean(String), System.getProperty(String), CONFIG_FILE_NAME
    • get

      @API(status=STABLE, since="1.3") default <T> Optional<T> get(String key, Function<String,​T> transformer)
      Get and transform the configuration parameter stored under the specified key using the specified transformer.

      If no such key is present in this ConfigurationParameters, an attempt will be made to look up the value as a JVM system property. If no such system property exists, an attempt will be made to look up the value in the JUnit Platform properties file.

      In case the transformer throws an exception, it will be wrapped in a JUnitException with a helpful message.

      Parameters:
      key - the key to look up; never null or blank
      transformer - the transformer to apply in case a value is found; never null
      Returns:
      an Optional containing the value; never null but potentially empty
      Since:
      1.3
      See Also:
      getBoolean(String), System.getProperty(String), CONFIG_FILE_NAME
    • size

      int size()
      Get the number of configuration parameters stored directly in this ConfigurationParameters.