TestConfig

izumi.distage.testkit.model.TestConfig
See theTestConfig companion object
final case class TestConfig(pluginConfig: PluginConfig, bootstrapPluginConfig: PluginConfig = ..., activation: Activation = ..., moduleOverrides: Module = ..., bootstrapOverrides: BootstrapModule = ..., memoizationRoots: PriorityAxisDIKeys = ..., forcedRoots: AxisDIKeys = ..., parallelEnvs: Parallelism = ..., parallelSuites: Parallelism = ..., parallelTests: Parallelism = ..., configBaseName: String = ..., configOverrides: Option[AppConfig] = ..., bootstrapFactory: BootstrapFactory = ..., planningOptions: PlanningOptions = ..., logLevel: Level = ..., debugOutput: Boolean = ..., activationStrategy: TestActivationStrategy = ..., unusedValidAxisChoices: Set[AxisChoice] = ...)

User-defined test settings

General options:

Value parameters

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.

bootstrapFactory

BootstrapFactory, controls config loading & initial modules

bootstrapOverrides

Same as moduleOverrides, but for BootstrapModule Every distinct bootstrapPluginConfig will create a distinct memoization environment. Parallelism options:

bootstrapPluginConfig

Same as pluginConfig, but for izumi.distage.model.definition.BootstrapModule. Every distinct bootstrapPluginConfig will create a distinct memoization environment.

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

debugOutput

Print testkit debug messages, including those helping diagnose memoization environment issues, default: false, also controlled by izumi.distage.testkit.DebugProperties.izumi.distage.testkit.debug system property

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 to forcedRoots 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.

logLevel

Log level for the logstage.IzLogger used in testkit and provided to the tests (will be overriden by plugin / module bindings if exist)

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

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.

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:

planningOptions

PlanningOptions, debug options for distage.Planner

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.

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def activate(changeActivation: Activation => Activation): TestConfig

Inherited methods

def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product