private void RuntimePluginEvents_CustomizeGlobalDependencies(object sender, CustomizeGlobalDependenciesEventArgs args) { args.ObjectContainer.RegisterFactoryAs(() => { lock (_registrationLock) { var containerFinder = args.ObjectContainer.Resolve <IContainerFinder>(); var containerBuilder = containerFinder.GetCreateScenarioContainer(); var container = containerBuilder.Invoke(); RegisterSpecflowDependencies(args.ObjectContainer, container); // Begin the scope to allow the binding file and context to get recreated // before each scenario to ensure fresh dependencies container.BeginScope(); return(container); } }); }
private void RuntimePluginEvents_CustomizeGlobalDependencies(object sender, CustomizeGlobalDependenciesEventArgs e) { #if NETFRAMEWORK e.ObjectContainer.RegisterTypeAs <NUnitNetFrameworkTestRunContext, ITestRunContext>(); #endif }
/// <summary> /// Adds our own AfterStep hook code to the methods that are executed after each step in a SpecFlow scenario. /// </summary> /// <param name="sender">The event sender.</param> /// <param name="eventArgs">Arguments passed to the event.</param> private void RuntimePluginEvents_CustomizeGlobalDependencies(object sender, CustomizeGlobalDependenciesEventArgs eventArgs) { RuntimePluginTestExecutionLifecycleEvents runtimePluginTestExecutionLifecycleEvents = eventArgs.ObjectContainer.Resolve <RuntimePluginTestExecutionLifecycleEvents>(); runtimePluginTestExecutionLifecycleEvents.AfterStep += this.RuntimePluginTestExecutionLifecycleEvents_AfterStep; }