package testkit
- Alphabetic
- Public
- Protected
Type Members
- sealed trait TestActivationStrategy extends AnyRef
- 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: ParallelLevel = ParallelLevel.Unlimited, parallelSuites: ParallelLevel = ParallelLevel.Unlimited, parallelTests: ParallelLevel = ParallelLevel.Unlimited, configBaseName: String, 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
General options:
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
ParallelLevel of distinct memoization environments run, default: ParallelLevel.Unlimited. Sequential envs will run in sequence after the parallel ones.
- parallelSuites
ParallelLevel of test suites run, default: ParallelLevel.Unlimited. Sequential suites will run in sequence after the parallel ones.
- parallelTests
ParallelLevel of test cases run, default: ParallelLevel.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
- object DebugProperties extends fundamentals.platform.properties.DebugProperties
Java properties that debug logging for distage-testkit and caching of distage-testkit classpath scans (when used)
Java properties that debug logging for distage-testkit and caching of distage-testkit classpath scans (when used)
- See also
- object TestActivationStrategy
- object TestConfig extends Serializable