final case class TestConfig(pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig = PluginConfig.empty, activation: distage.Activation = StandardAxis.testProdActivation, moduleOverrides: distage.Module = Module.empty, bootstrapOverrides: distage.BootstrapModule = BootstrapModule.empty, memoizationRoots: PriorAxisDIKeys = PriorAxisDIKeys.empty, forcedRoots: AxisDIKeys = AxisDIKeys.empty, parallelEnvs: Parallelism = Parallelism.Unlimited, parallelSuites: Parallelism = Parallelism.Unlimited, parallelTests: Parallelism = Parallelism.Unlimited, configBaseName: String = "test", configOverrides: Option[distage.config.AppConfig] = None, bootstrapFactory: BootstrapFactory = BootstrapFactory.Impl, planningOptions: PlanningOptions = PlanningOptions(), logLevel: Level = Log.Level.Info, debugOutput: Boolean = false, activationStrategy: TestActivationStrategy = TestActivationStrategy.LoadConfig(ignoreUnknown = false, warnUnset = true), unusedValidAxisChoices: Set[AxisChoice] = Set.empty) extends Product with Serializable
User-defined test settings
General options:
- pluginConfig
Source of module definitions from which to build object graphs for each test. Changes to izumi.distage.plugins.PluginConfig that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests. Components specified in
memoizationRoots
will be memoized only for the tests in the same memoization environment.- bootstrapPluginConfig
Same as pluginConfig, but for izumi.distage.model.definition.BootstrapModule. Every distinct
bootstrapPluginConfig
will create a distinct memoization environment.- activation
Chosen activation axes. Changes in izumi.distage.model.definition.Activation that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.
- moduleOverrides
Override loaded plugins with a given Module. As long as overriden bindings are not memoized, or dependencies of memoized components, using overrides will NOT create a new memoization environment. Changes to
moduleOverrides
that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.- bootstrapOverrides
Same as moduleOverrides, but for BootstrapModule Every distinct
bootstrapPluginConfig
will create a distinct memoization environment. Parallelism options:- memoizationRoots
Specifies the components that will be created *once* and shared across all tests within the same memoization environment (i.e. with the same TestConfig) Every distinct set of
memoizationRoots
will create a distinct memoization environment- forcedRoots
Specifies components that will be treated as if they are a dependency of every test within this memoization environment. Components designated as forced roots will not be garbage collected even if there are no components or tests that depend on them. When combined with
memoizationRoots
, a distage.Lifecycle binding can be used to implement a global start/stop action (beforeAll/afterAll) for all tests within this memoization environment. Changes toforcedRoots
that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.- parallelEnvs
Parallelism of distinct memoization environments run, default: Parallelism.Unlimited. Sequential envs will run in sequence after the parallel ones.
- parallelSuites
Parallelism of test suites run, default: Parallelism.Unlimited. Sequential suites will run in sequence after the parallel ones.
- parallelTests
Parallelism of test cases run, default: Parallelism.Unlimited. Sequential tests will run in sequence after the parallel ones. Other options, Tests with different other options will run in distinct memoization environments:
- configBaseName
Search for config in HOCON resource files with names
$configBaseName.conf
,$configBaseName-reference.conf
,$configBaseName-reference-dev.conf
(see izumi.distage.framework.services.ConfigLoader- configOverrides
Overriding definitions on top of main loaded config, default
None
- bootstrapFactory
BootstrapFactory, controls config loading & initial modules
- planningOptions
PlanningOptions, debug options for distage.Planner
- logLevel
Log level for the logstage.IzLogger used in testkit and provided to the tests (will be overriden by plugin / module bindings if exist)
- debugOutput
Print testkit debug messages, including those helping diagnose memoization environment issues, default:
false
, also controlled by DebugProperties.`izumi.distage.testkit.debug` system property
- Alphabetic
- By Inheritance
- TestConfig
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new TestConfig(pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig = PluginConfig.empty, activation: distage.Activation = StandardAxis.testProdActivation, moduleOverrides: distage.Module = Module.empty, bootstrapOverrides: distage.BootstrapModule = BootstrapModule.empty, memoizationRoots: PriorAxisDIKeys = PriorAxisDIKeys.empty, forcedRoots: AxisDIKeys = AxisDIKeys.empty, parallelEnvs: Parallelism = Parallelism.Unlimited, parallelSuites: Parallelism = Parallelism.Unlimited, parallelTests: Parallelism = Parallelism.Unlimited, configBaseName: String = "test", configOverrides: Option[distage.config.AppConfig] = None, bootstrapFactory: BootstrapFactory = BootstrapFactory.Impl, planningOptions: PlanningOptions = PlanningOptions(), logLevel: Level = Log.Level.Info, debugOutput: Boolean = false, activationStrategy: TestActivationStrategy = TestActivationStrategy.LoadConfig(ignoreUnknown = false, warnUnset = true), unusedValidAxisChoices: Set[AxisChoice] = Set.empty)
- pluginConfig
Source of module definitions from which to build object graphs for each test. Changes to izumi.distage.plugins.PluginConfig that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests. Components specified in
memoizationRoots
will be memoized only for the tests in the same memoization environment.- bootstrapPluginConfig
Same as pluginConfig, but for izumi.distage.model.definition.BootstrapModule. Every distinct
bootstrapPluginConfig
will create a distinct memoization environment.- activation
Chosen activation axes. Changes in izumi.distage.model.definition.Activation that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.
- moduleOverrides
Override loaded plugins with a given Module. As long as overriden bindings are not memoized, or dependencies of memoized components, using overrides will NOT create a new memoization environment. Changes to
moduleOverrides
that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.- bootstrapOverrides
Same as moduleOverrides, but for BootstrapModule Every distinct
bootstrapPluginConfig
will create a distinct memoization environment. Parallelism options:- memoizationRoots
Specifies the components that will be created *once* and shared across all tests within the same memoization environment (i.e. with the same TestConfig) Every distinct set of
memoizationRoots
will create a distinct memoization environment- forcedRoots
Specifies components that will be treated as if they are a dependency of every test within this memoization environment. Components designated as forced roots will not be garbage collected even if there are no components or tests that depend on them. When combined with
memoizationRoots
, a distage.Lifecycle binding can be used to implement a global start/stop action (beforeAll/afterAll) for all tests within this memoization environment. Changes toforcedRoots
that alter implementations of components in memoizationRoots OR their dependencies will cause the test to execute in a new memoization environment, check the initial log output in tests for information about the memoization environments in your tests.- parallelEnvs
Parallelism of distinct memoization environments run, default: Parallelism.Unlimited. Sequential envs will run in sequence after the parallel ones.
- parallelSuites
Parallelism of test suites run, default: Parallelism.Unlimited. Sequential suites will run in sequence after the parallel ones.
- parallelTests
Parallelism of test cases run, default: Parallelism.Unlimited. Sequential tests will run in sequence after the parallel ones. Other options, Tests with different other options will run in distinct memoization environments:
- configBaseName
Search for config in HOCON resource files with names
$configBaseName.conf
,$configBaseName-reference.conf
,$configBaseName-reference-dev.conf
(see izumi.distage.framework.services.ConfigLoader- configOverrides
Overriding definitions on top of main loaded config, default
None
- bootstrapFactory
BootstrapFactory, controls config loading & initial modules
- planningOptions
PlanningOptions, debug options for distage.Planner
- logLevel
Log level for the logstage.IzLogger used in testkit and provided to the tests (will be overriden by plugin / module bindings if exist)
- debugOutput
Print testkit debug messages, including those helping diagnose memoization environment issues, default:
false
, also controlled by DebugProperties.`izumi.distage.testkit.debug` system property
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def activate(changeActivation: (distage.Activation) => distage.Activation): TestConfig
- val activation: distage.Activation
- val activationStrategy: TestActivationStrategy
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bootstrapFactory: BootstrapFactory
- val bootstrapOverrides: distage.BootstrapModule
- val bootstrapPluginConfig: PluginConfig
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val configBaseName: String
- val configOverrides: Option[distage.config.AppConfig]
- val debugOutput: Boolean
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val forcedRoots: AxisDIKeys
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logLevel: Level
- val memoizationRoots: PriorAxisDIKeys
- val moduleOverrides: distage.Module
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val parallelEnvs: Parallelism
- val parallelSuites: Parallelism
- val parallelTests: Parallelism
- val planningOptions: PlanningOptions
- val pluginConfig: PluginConfig
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val unusedValidAxisChoices: Set[AxisChoice]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()