コード例 #1
0
        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>();
        }
コード例 #2
0
ファイル: TestExecutionEngine.cs プロジェクト: zplan/SpecFlow
        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);
        }
コード例 #3
0
        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>();
        }
コード例 #4
0
        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>();
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
        }