public virtual void SetUp() { TestRunnerManager.Reset(); MockRepository = new MockRepository(); // FeatureContext and ScenarioContext is needed, because the [Binding]-instances live there FeatureLanguage = GetFeatureLanguage(); CultureInfo bindingCulture = GetBindingCulture(); var testThreadContainer = new ObjectContainer(); testThreadContainer.RegisterInstanceAs(new Mock <ITestRunner>().Object); testThreadContainer.RegisterTypeAs <BindingInstanceResolver, IBindingInstanceResolver>(); var containerBuilderMock = new Mock <IContainerBuilder>(); containerBuilderMock.Setup(m => m.CreateScenarioContainer(It.IsAny <IObjectContainer>(), It.IsAny <ScenarioInfo>())) .Returns((IObjectContainer ttc, ScenarioInfo si) => { var scenarioContainer = new ObjectContainer(ttc); scenarioContainer.RegisterInstanceAs(si); return(scenarioContainer); }); ContextManagerStub = new ContextManager(MockRepository.Stub <ITestTracer>(), testThreadContainer, containerBuilderMock.Object); ContextManagerStub.InitializeFeatureContext(new FeatureInfo(FeatureLanguage, "test feature", null), bindingCulture); ContextManagerStub.InitializeScenarioContext(new ScenarioInfo("test scenario")); StepArgumentTypeConverterStub = MockRepository.Stub <IStepArgumentTypeConverter>(); }
public virtual void OnFeatureStart(FeatureInfo featureInfo) { // if the unit test provider would execute the fixture teardown code // only delayed (at the end of the execution), we automatically close // the current feature if necessary if (_unitTestRuntimeProvider.DelayedFixtureTearDown && FeatureContext != null) { OnFeatureEnd(); } _contextManager.InitializeFeatureContext(featureInfo); _defaultBindingCulture = FeatureContext.BindingCulture; _defaultTargetLanguage = featureInfo.GenerationTargetLanguage; FireEvents(HookType.BeforeFeature); }
public virtual void SetUp() { TestRunnerManager.Reset(); MockRepository = new MockRepository(); // FeatureContext and ScenarioContext is needed, because the [Binding]-instances live there FeatureLanguage = GetFeatureLanguage(); CultureInfo bindingCulture = GetBindingCulture(); var container = new ObjectContainer(); container.RegisterInstanceAs(new Mock <ITestRunner>().Object); ContextManagerStub = new ContextManager(MockRepository.Stub <ITestTracer>(), container); ContextManagerStub.InitializeFeatureContext(new FeatureInfo(FeatureLanguage, "test feature", null), bindingCulture); ContextManagerStub.InitializeScenarioContext(new ScenarioInfo("test scenario")); StepArgumentTypeConverterStub = MockRepository.Stub <IStepArgumentTypeConverter>(); }
public StepExecutionTestsBase() { TestRunnerManager.Reset(); // FeatureContext and ScenarioContext is needed, because the [Binding]-instances live there FeatureLanguage = GetFeatureLanguage(); var runtimeConfiguration = ConfigurationLoader.GetDefault(); runtimeConfiguration.BindingCulture = GetBindingCulture(); TestThreadContainer = new ObjectContainer(); TestThreadContainer.RegisterInstanceAs(runtimeConfiguration); TestThreadContainer.RegisterInstanceAs(new Mock <ITestRunner>().Object); TestThreadContainer.RegisterTypeAs <TestObjectResolver, ITestObjectResolver>(); var containerBuilderMock = new Mock <IContainerBuilder>(); containerBuilderMock.Setup(m => m.CreateScenarioContainer(It.IsAny <IObjectContainer>(), It.IsAny <ScenarioInfo>())) .Returns((IObjectContainer fc, ScenarioInfo si) => { var scenarioContainer = new ObjectContainer(fc); scenarioContainer.RegisterInstanceAs(si); return(scenarioContainer); }); containerBuilderMock.Setup(m => m.CreateFeatureContainer(It.IsAny <IObjectContainer>(), It.IsAny <FeatureInfo>())) .Returns((IObjectContainer ttc, FeatureInfo fi) => { var featureContainer = new ObjectContainer(ttc); featureContainer.RegisterInstanceAs(fi); return(featureContainer); }); ContainerBuilderStub = containerBuilderMock.Object; ContextManagerStub = new ContextManager(new Mock <ITestTracer>().Object, TestThreadContainer, ContainerBuilderStub); ContextManagerStub.InitializeFeatureContext(new FeatureInfo(FeatureLanguage, string.Empty, "test feature", null)); ContextManagerStub.InitializeScenarioContext(new ScenarioInfo("test scenario", "test scenario description", null, null)); StepArgumentTypeConverterStub = new Mock <IStepArgumentTypeConverter>(); }
public void OnFeatureStart(FeatureInfo featureInfo) { // if the unit test provider would execute the fixture teardown code // only delayed (at the end of the execution), we automatically close // the current feature if necessary if (unitTestRuntimeProvider.DelayedFixtureTearDown && contextManager.FeatureContext != null) { OnFeatureEnd(); } // The Generator defines the value of FeatureInfo.Language: either feature-language or language from App.config or the default // The runtime can define the binding-culture: Value is configured on App.config, else it is null CultureInfo bindingCulture = runtimeConfiguration.BindingCulture ?? featureInfo.Language; defaultTargetLanguage = featureInfo.GenerationTargetLanguage; defaultBindingCulture = bindingCulture; contextManager.InitializeFeatureContext(featureInfo, bindingCulture); FireEvents(HookType.BeforeFeature); }
public void OnFeatureStart(FeatureInfo featureInfo) { // if the unit test provider would execute the fixture teardown code // only delayed (at the end of the execution), we automatically close // the current feature if necessary if (unitTestRuntimeProvider.DelayedFixtureTearDown && contextManager.FeatureContext != null) { OnFeatureEnd(); } if (!stepDefinitionSkeletonProviders.ContainsKey(featureInfo.GenerationTargetLanguage)) { currentStepDefinitionSkeletonProvider = stepDefinitionSkeletonProviders[ProgrammingLanguage.CSharp]; // fallback case for unsupported skeleton provider } currentStepDefinitionSkeletonProvider = stepDefinitionSkeletonProviders[featureInfo.GenerationTargetLanguage]; // The Generator defines the value of FeatureInfo.Language: either feature-language or language from App.config or the default // The runtime can define the binding-culture: Value is configured on App.config, else it is null CultureInfo bindingCulture = runtimeConfiguration.BindingCulture ?? featureInfo.Language; contextManager.InitializeFeatureContext(featureInfo, bindingCulture); FireEvents(BindingEvent.FeatureStart); }