Available Containers & Registrations¶
Global Container¶
The global container captures global services for test execution and the step definition, hook and transformation discovery result (i.e. what step definitions you have).
IRuntimeConfigurationProvider
ITestRunnerManager
IStepFormatter
ITestTracer
ITraceListener
ITraceListenerQueue
IErrorProvider
IRuntimeBindingSourceProcessor
IRuntimeBindingRegistryBuilder
IBindingRegistry
IBindingFactory
IStepDefinitionRegexCalculator
IBindingInvoker
IStepDefinitionSkeletonProvider
ISkeletonTemplateProvider
IStepTextAnalyzer
IRuntimePluginLoader
IBindingAssemblyLoader
IBindingInstanceResolver
-
RegisterGlobalDependencies- Event
CustomizeGlobalDependencies- Event
Test Thread Container¶
> Note: Parent Container is the Global Container
The test thread container captures the services and state for executing scenarios on a particular test thread. For parallel test execution, multiple test runner containers are created, one for each thread.
ITestRunner
IContextManager
ITestExecutionEngine
IStepArgumentTypeConverter
IStepDefinitionMatchService
ITraceListener
ITestTracer
-
CustomizeTestThreadDependencies- Event
Feature Container¶
> Note: Parent Container is the Test Thread Container
The feature container captures a feature’s execution state. It is disposed after the feature is executed.
FeatureContext (also available from the test thread container through
IContextManager
)[RuntimePlugins]
CustomizeFeatureDependencies- Event
Scenario Container¶
> Note: Parent Container is the Test Thread Container
The scenario container captures the state of a scenario execution. It is disposed after the scenario is executed.
(step definition classes)
(dependencies of the step definition classes, aka context injection)
ScenarioContext (also available from the Test Thread Container through
IContextManager
)[RuntimePlugins]
CustomizeScenarioDependencies- Event