package model
- Alphabetic
- Public
- Protected
Type Members
- final case class DistageTest[F[_]](test: distage.Functoid[F[Any]], environment: TestEnvironment, testMeta: TestMeta, suiteMeta: SuiteMeta) extends Product with Serializable
- sealed trait EnvResult extends AnyRef
- final case class FailedTest[F[_]](test: DistageTest[F], timedPlan: Timed[NEList[DIError]]) extends Product with Serializable
- final case class FullMeta(test: TestMeta, suite: SuiteMeta) extends Product with Serializable
- sealed trait GroupResult extends AnyRef
- sealed trait IndividualTestResult extends AnyRef
- final case class PreparedTest[F[_]](test: DistageTest[F], timedPlan: Timed[Plan], roots: Set[DIKey]) extends Product with Serializable
- final case class ScopeId(id: UUID) extends AnyVal with Product with Serializable
- final case class SuiteId(suiteId: String) extends AnyVal with Product with Serializable
- final case class SuiteMeta(suiteId: SuiteId, suiteName: String, suiteClassName: String) extends Product with Serializable
- 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: 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
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
- final case class TestEnvironment(bsModule: distage.ModuleBase, appModule: distage.ModuleBase, roles: RolesInfo, activationInfo: ActivationInfo, activation: Activation, memoizationRoots: PriorAxisDIKeys, forcedRoots: AxisDIKeys, parallelEnvs: Parallelism, bootstrapFactory: BootstrapFactory, configBaseName: String, configOverrides: Option[AppConfig], planningOptions: PlanningOptions, logLevel: Level, activationStrategy: TestActivationStrategy)(parallelSuites: Parallelism, parallelTests: Parallelism, debugOutput: Boolean) extends Product with Serializable
TestConfig allows the user to define test settings.
TestConfig allows the user to define test settings.
These settings should be turned into TestEnvironment before they can be handled by the test runner.
This process happens automatically and the user is not expected to directly interact with TestEnvironment
- final case class TestGroup[F[_]](preparedTests: List[PreparedTest[F]], failedTests: List[FailedTest[F]], strengthenedKeys: Set[DIKey]) extends Product with Serializable
- final case class TestId(path: Seq[String], suite: SuiteId) extends Product with Serializable
- final case class TestMeta(id: TestId, pos: SourceFilePosition, uid: Long) extends Product with Serializable
- sealed trait TestStatus extends AnyRef
- final case class TestTree[F[_]](levelPlan: Plan, groups: List[TestGroup[F]], nested: List[TestTree[F]], parentKeys: Set[distage.DIKey]) extends IzConsoleColors with Product with Serializable
Value Members
- object EnvResult
- object GroupResult
- object IndividualTestResult
- object TestActivationStrategy
- object TestConfig extends Serializable
- object TestEnvironment extends Serializable
- object TestStatus