How to use DummyClass class of TechTalk.SpecFlow.RuntimeTests.Infrastructure package

Best SpecFlow code snippet using TechTalk.SpecFlow.RuntimeTests.Infrastructure.DummyClass

TestExecutionEngineTests.cs

Source:TestExecutionEngineTests.cs Github

copy

Full Screen

...62        private List<IHookBinding> afterScenarioBlockEvents;6364        private List<IStepArgumentTransformationBinding> stepTransformations;6566        class DummyClass67        {68            public static DummyClass LastInstance = null;69            public DummyClass()70            {71                LastInstance = this;72            }73        }7475        class AnotherDummyClass { }767778        public TestExecutionEngineTests()79        {80            specFlowConfiguration = ConfigurationLoader.GetDefault();8182            testThreadContainer = new ObjectContainer();83            featureContainer = new ObjectContainer();84            scenarioContainer = new ObjectContainer();8586            beforeScenarioEvents = new List<IHookBinding>();87            afterScenarioEvents = new List<IHookBinding>();88            beforeStepEvents = new List<IHookBinding>();89            afterStepEvents = new List<IHookBinding>();90            beforeFeatureEvents = new List<IHookBinding>();91            afterFeatureEvents = new List<IHookBinding>();92            beforeTestRunEvents = new List<IHookBinding>();93            afterTestRunEvents = new List<IHookBinding>();94            beforeScenarioBlockEvents = new List<IHookBinding>();95            afterScenarioBlockEvents = new List<IHookBinding>();9697            stepTransformations = new List<IStepArgumentTransformationBinding>();9899            stepDefinitionSkeletonProviderMock = new Mock<IStepDefinitionSkeletonProvider>();100            testObjectResolverMock = new Mock<ITestObjectResolver>();101            testObjectResolverMock.Setup(bir => bir.ResolveBindingInstance(It.IsAny<Type>(), It.IsAny<IObjectContainer>()))102                .Returns((Type t, IObjectContainer container) => defaultTestObjectResolver.ResolveBindingInstance(t, container));103104            var culture = new CultureInfo("en-US", false);105            contextManagerStub = new Mock<IContextManager>();106            scenarioInfo = new ScenarioInfo("scenario_title", "scenario_description", null, null);107            scenarioContext = new ScenarioContext(scenarioContainer, scenarioInfo, testObjectResolverMock.Object);108            scenarioContainer.RegisterInstanceAs(scenarioContext);109            contextManagerStub.Setup(cm => cm.ScenarioContext).Returns(scenarioContext);110            featureInfo = new FeatureInfo(culture, "feature path", "feature_title", "", ProgrammingLanguage.CSharp);111            var featureContext = new FeatureContext(featureContainer, featureInfo, specFlowConfiguration);112            featureContainer.RegisterInstanceAs(featureContext);113            contextManagerStub.Setup(cm => cm.FeatureContext).Returns(featureContext);114            contextManagerStub.Setup(cm => cm.StepContext).Returns(new ScenarioStepContext(new StepInfo(StepDefinitionType.Given, "step_title", null, null)));115116            bindingRegistryStub = new Mock<IBindingRegistry>();117            bindingRegistryStub.Setup(br => br.GetHooks(HookType.BeforeStep)).Returns(beforeStepEvents);118            bindingRegistryStub.Setup(br => br.GetHooks(HookType.AfterStep)).Returns(afterStepEvents);119            bindingRegistryStub.Setup(br => br.GetHooks(HookType.BeforeScenarioBlock)).Returns(beforeScenarioBlockEvents);120            bindingRegistryStub.Setup(br => br.GetHooks(HookType.AfterScenarioBlock)).Returns(afterScenarioBlockEvents);121            bindingRegistryStub.Setup(br => br.GetHooks(HookType.BeforeFeature)).Returns(beforeFeatureEvents);122            bindingRegistryStub.Setup(br => br.GetHooks(HookType.AfterFeature)).Returns(afterFeatureEvents);123            bindingRegistryStub.Setup(br => br.GetHooks(HookType.BeforeTestRun)).Returns(beforeTestRunEvents);124            bindingRegistryStub.Setup(br => br.GetHooks(HookType.AfterTestRun)).Returns(afterTestRunEvents);125            bindingRegistryStub.Setup(br => br.GetHooks(HookType.BeforeScenario)).Returns(beforeScenarioEvents);126            bindingRegistryStub.Setup(br => br.GetHooks(HookType.AfterScenario)).Returns(afterScenarioEvents);127            128            bindingRegistryStub.Setup(br => br.GetStepTransformations()).Returns(stepTransformations);129130            specFlowConfiguration = ConfigurationLoader.GetDefault();131            errorProviderStub = new Mock<IErrorProvider>();132            testTracerStub = new Mock<ITestTracer>();133            stepDefinitionMatcherStub = new Mock<IStepDefinitionMatchService>();134            methodBindingInvokerMock = new Mock<IBindingInvoker>();135136            obsoleteTestHandlerMock = new Mock<IObsoleteStepHandler>();137138         139140            _testPendingMessageFactory = new TestPendingMessageFactory(errorProviderStub.Object);141            _testUndefinedMessageFactory = new TestUndefinedMessageFactory(stepDefinitionSkeletonProviderMock.Object, errorProviderStub.Object, specFlowConfiguration);142143            _analyticsEventProvider = new Mock<IAnalyticsEventProvider>();144            _analyticsTransmitter = new Mock<IAnalyticsTransmitter>();145            _analyticsTransmitter.Setup(at => at.TransmitSpecFlowProjectRunningEvent(It.IsAny<SpecFlowProjectRunningEvent>()))146                .Callback(() => { });147148            _testRunnerManager = new Mock<ITestRunnerManager>();149            _testRunnerManager.Setup(trm => trm.TestAssembly).Returns(Assembly.GetCallingAssembly);150151            _runtimePluginTestExecutionLifecycleEventEmitter = new Mock<IRuntimePluginTestExecutionLifecycleEventEmitter>();152            _testThreadExecutionEventPublisher = new Mock<ITestThreadExecutionEventPublisher>();153154            _stepArgumentTypeConverterMock = new Mock<IStepArgumentTypeConverter>();155        }156157        private TestExecutionEngine CreateTestExecutionEngine()158        {159            return new TestExecutionEngine(160                new Mock<IStepFormatter>().Object,161                testTracerStub.Object,162                errorProviderStub.Object,163                _stepArgumentTypeConverterMock.Object,164                specFlowConfiguration,165                bindingRegistryStub.Object,166                new Mock<IUnitTestRuntimeProvider>().Object,167                contextManagerStub.Object,168                stepDefinitionMatcherStub.Object,169                methodBindingInvokerMock.Object,170                obsoleteTestHandlerMock.Object,171                _analyticsEventProvider.Object,172                _analyticsTransmitter.Object,173                _testRunnerManager.Object,174                _runtimePluginTestExecutionLifecycleEventEmitter.Object,175                _testThreadExecutionEventPublisher.Object,176                _testPendingMessageFactory,177                _testUndefinedMessageFactory,178                testObjectResolverMock.Object,179                testThreadContainer);180        }181182183        private Mock<IStepDefinitionBinding> RegisterStepDefinition()184        {185            var methodStub = new Mock<IBindingMethod>();186            var stepDefStub = new Mock<IStepDefinitionBinding>();187            stepDefStub.Setup(sd => sd.Method).Returns(methodStub.Object);188189            StepDefinitionAmbiguityReason ambiguityReason;190            List<BindingMatch> candidatingMatches;191            stepDefinitionMatcherStub.Setup(sdm => sdm.GetBestMatch(It.IsAny<StepInstance>(), It.IsAny<CultureInfo>(), out ambiguityReason, out candidatingMatches))192                .Returns(193                    new BindingMatch(stepDefStub.Object, 0, new object[0], new StepContext("bla", "foo", new List<string>(), CultureInfo.InvariantCulture)));194195            return stepDefStub;196        }197198        private Mock<IStepDefinitionBinding> RegisterStepDefinitionWithTransformation(IBindingType bindingType)199        {            200            var bindingParameterStub = new Mock<IBindingParameter>();201            bindingParameterStub.Setup(bp => bp.Type).Returns(bindingType);202            var methodStub = new Mock<IBindingMethod>();203            methodStub.Setup(m => m.Parameters).Returns(new[] { bindingParameterStub.Object });204            var stepDefStub = new Mock<IStepDefinitionBinding>();205            stepDefStub.Setup(sd => sd.Method).Returns(methodStub.Object);206207            StepDefinitionAmbiguityReason ambiguityReason;208            List<BindingMatch> candidatingMatches;209            stepDefinitionMatcherStub.Setup(sdm => sdm.GetBestMatch(It.IsAny<StepInstance>(), It.IsAny<CultureInfo>(), out ambiguityReason, out candidatingMatches))210                .Returns(211                    new BindingMatch(stepDefStub.Object, 0, new object[] { "userName" }, new StepContext("bla", "foo", new List<string>(), CultureInfo.InvariantCulture)));212213            return stepDefStub;214        }215216        private Mock<IStepDefinitionBinding> RegisterUndefinedStepDefinition()217        {218            var methodStub = new Mock<IBindingMethod>();219            var stepDefStub = new Mock<IStepDefinitionBinding>();220            stepDefStub.Setup(sd => sd.Method).Returns(methodStub.Object);221222            StepDefinitionAmbiguityReason ambiguityReason;223            List<BindingMatch> candidatingMatches;224            stepDefinitionMatcherStub.Setup(sdm => sdm.GetBestMatch(It.IsAny<StepInstance>(), It.IsAny<CultureInfo>(), out ambiguityReason, out candidatingMatches))225                .Returns(BindingMatch.NonMatching);226227            return stepDefStub;228        }229230        private void RegisterFailingStepDefinition(TimeSpan? expectedDuration = null)231        {232            var stepDefStub = RegisterStepDefinition();233            TimeSpan duration;234            if (expectedDuration.HasValue) duration = expectedDuration.Value;235            methodBindingInvokerMock.Setup(i => i.InvokeBinding(stepDefStub.Object, contextManagerStub.Object, It.IsAny<object[]>(), testTracerStub.Object, out duration))236                .Throws(new Exception("simulated error"));237        }238239        private Mock<IHookBinding> CreateHookMock(List<IHookBinding> hookList)240        {241            var mock = new Mock<IHookBinding>();242            hookList.Add(mock.Object);243            return mock;244        }245246        private Mock<IHookBinding> CreateParametrizedHookMock(List<IHookBinding> hookList, params Type[] paramTypes)247        {248            var hookMock = CreateHookMock(hookList);249            var bindingMethod = new BindingMethod(new BindingType("AssemblyBT", "BT", "Test.BT"), "X",250                paramTypes.Select((paramType, i) => new BindingParameter(new RuntimeBindingType(paramType), "p" + i)),251                RuntimeBindingType.Void);252            hookMock.Setup(h => h.Method).Returns(bindingMethod);253            return hookMock;254        }255256        private IStepArgumentTransformationBinding CreateStepTransformationBinding(string regexString, IBindingMethod transformMethod)257        {258            return new StepArgumentTransformationBinding(regexString, transformMethod);259        }260261        private void AssertHooksWasCalledWithParam(Mock<IHookBinding> hookMock, object paramObj)262        {263            TimeSpan duration;264            methodBindingInvokerMock.Verify(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object,265                It.Is((object[] args) => args != null && args.Length > 0 && args.Any(arg => arg == paramObj)),266                testTracerStub.Object, out duration), Times.Once());267        }268269        [Fact]270        public void Should_execute_before_step()271        {272            var testExecutionEngine = CreateTestExecutionEngine();273            RegisterStepDefinition();274275            var hookMock = CreateHookMock(beforeStepEvents);276277            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);278279            TimeSpan duration;280            methodBindingInvokerMock.Verify(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Once());281        }282283        [Fact]284        public void Should_execute_after_step()285        {286            var testExecutionEngine = CreateTestExecutionEngine();287            RegisterStepDefinition();288289            var hookMock = CreateHookMock(afterStepEvents);290291            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);292293            TimeSpan duration;294            methodBindingInvokerMock.Verify(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Once());295        }296297        [Fact]298        public void Should_not_execute_step_when_there_was_an_error_earlier()299        {300            var testExecutionEngine = CreateTestExecutionEngine();301            var stepDefMock = RegisterStepDefinition();302303            scenarioContext.ScenarioExecutionStatus = ScenarioExecutionStatus.TestError;304305            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);306307            TimeSpan duration;308            methodBindingInvokerMock.Verify(i => i.InvokeBinding(stepDefMock.Object, It.IsAny<IContextManager>(), It.IsAny<object[]>(), It.IsAny<ITestTracer>(), out duration), Times.Never());309        }310311        [Fact]312        public void Should_not_execute_step_hooks_when_there_was_an_error_earlier()313        {314            var testExecutionEngine = CreateTestExecutionEngine();315            RegisterStepDefinition();316317            scenarioContext.ScenarioExecutionStatus = ScenarioExecutionStatus.TestError;318319            var beforeStepMock = CreateHookMock(beforeStepEvents);320            var afterStepMock = CreateHookMock(afterStepEvents);321322            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);323324            TimeSpan duration;325            methodBindingInvokerMock.Verify(i => i.InvokeBinding(beforeStepMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Never());326            methodBindingInvokerMock.Verify(i => i.InvokeBinding(afterStepMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Never());327        }328329        [Fact]330        public void Should_not_execute_step_argument_transformations_when_there_was_an_error_earlier()331        {332            var testExecutionEngine = CreateTestExecutionEngine();333334            var bindingTypeStub = new Mock<IBindingType>();335            RegisterStepDefinitionWithTransformation(bindingTypeStub.Object);336337            scenarioContext.ScenarioExecutionStatus = ScenarioExecutionStatus.TestError;338339            UserCreator stepTransformationInstance = new UserCreator();340            var transformMethod = new RuntimeBindingMethod(stepTransformationInstance.GetType().GetMethod("Create"));341            var stepTransformationBinding = CreateStepTransformationBinding(@"user (\w+)", transformMethod);342            stepTransformations.Add(stepTransformationBinding);343344            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "user bar", null, null);345346            _stepArgumentTypeConverterMock.Verify(i => i.Convert(It.IsAny<object>(), bindingTypeStub.Object, It.IsAny<CultureInfo>()), Times.Never);347        }348349        [Fact]350        public void Should_execute_after_step_when_step_definition_failed()351        {352            var testExecutionEngine = CreateTestExecutionEngine();353            RegisterFailingStepDefinition();354355            var hookMock = CreateHookMock(afterStepEvents);356357            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);358359            TimeSpan duration;360            methodBindingInvokerMock.Verify(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration));361        }362363        [Fact]364        public void Should_cleanup_step_context_after_scenario_block_hook_error()365        {366            TimeSpan duration;367            var testExecutionEngine = CreateTestExecutionEngine();368            RegisterStepDefinition();369370            var hookMock = CreateHookMock(beforeScenarioBlockEvents);371            methodBindingInvokerMock.Setup(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration))372                .Throws(new Exception("simulated error"));373374            try375            {376                testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);377378                Assert.True(false, "execution of the step should have failed because of the exeption thrown by the before scenario block hook");379            }380            catch (Exception)381            {382            }383384            methodBindingInvokerMock.Verify(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Once());385            contextManagerStub.Verify(cm => cm.CleanupStepContext());386        }387388        [Fact]389        public void Should_not_execute_afterstep_when_step_is_undefined()390        {391            var testExecutionEngine = CreateTestExecutionEngine();392            RegisterUndefinedStepDefinition();393394            var afterStepMock = CreateHookMock(afterStepEvents);395396            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "undefined", null, null);397398            TimeSpan duration;399            methodBindingInvokerMock.Verify(i => i.InvokeBinding(afterStepMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration), Times.Never());400        }401        402        [Fact]403        public void Should_cleanup_scenario_context_on_scenario_end()404        {405            var testExecutionEngine = CreateTestExecutionEngine();406            RegisterStepDefinition();407408            testExecutionEngine.OnScenarioInitialize(scenarioInfo);409            testExecutionEngine.OnScenarioStart();410            testExecutionEngine.OnScenarioEnd();411412            contextManagerStub.Verify(cm => cm.CleanupScenarioContext(), Times.Once);413        }414415        [Fact]416        public void Should_cleanup_scenario_context_after_AfterScenario_hook_error()417        {418            TimeSpan duration;419            var testExecutionEngine = CreateTestExecutionEngine();420            RegisterStepDefinition();421422            var afterHook = CreateParametrizedHookMock(afterScenarioEvents, typeof(DummyClass));423            var hookMock = CreateHookMock(afterScenarioEvents);424            methodBindingInvokerMock.Setup(i => i.InvokeBinding(hookMock.Object, contextManagerStub.Object, null, testTracerStub.Object, out duration))425                                    .Throws(new Exception("simulated error"));426427428            testExecutionEngine.OnScenarioInitialize(scenarioInfo);429            testExecutionEngine.OnScenarioStart();430            Action act = () => testExecutionEngine.OnScenarioEnd();431432            act.Should().Throw<Exception>().WithMessage("simulated error");433            contextManagerStub.Verify(cm => cm.CleanupScenarioContext(), Times.Once);434        }435436        [Fact]437        public void Should_resolve_FeatureContext_hook_parameter()438        {439            var testExecutionEngine = CreateTestExecutionEngine();440            RegisterStepDefinition();441442            var hookMock = CreateParametrizedHookMock(beforeFeatureEvents, typeof(FeatureContext));443444            testExecutionEngine.OnFeatureStart(featureInfo);445            AssertHooksWasCalledWithParam(hookMock, contextManagerStub.Object.FeatureContext);446        }447448        [Fact]449        public void Should_resolve_custom_class_hook_parameter()450        {451            var testExecutionEngine = CreateTestExecutionEngine();452            RegisterStepDefinition();453454            var hookMock = CreateParametrizedHookMock(beforeFeatureEvents, typeof(DummyClass));455456            testExecutionEngine.OnFeatureStart(featureInfo);457            AssertHooksWasCalledWithParam(hookMock, DummyClass.LastInstance);458        }459460        [Fact]461        public void Should_resolve_container_hook_parameter()462        {463            var testExecutionEngine = CreateTestExecutionEngine();464            RegisterStepDefinition();465466            var hookMock = CreateParametrizedHookMock(beforeTestRunEvents, typeof(IObjectContainer));467468            testExecutionEngine.OnTestRunStart();469470            AssertHooksWasCalledWithParam(hookMock, testThreadContainer);471        }472473        [Fact]474        public void Should_resolve_multiple_hook_parameter()475        {476            var testExecutionEngine = CreateTestExecutionEngine();477            RegisterStepDefinition();478479            var hookMock = CreateParametrizedHookMock(beforeFeatureEvents, typeof(DummyClass), typeof(FeatureContext));480481            testExecutionEngine.OnFeatureStart(featureInfo);482            AssertHooksWasCalledWithParam(hookMock, DummyClass.LastInstance);483            AssertHooksWasCalledWithParam(hookMock, contextManagerStub.Object.FeatureContext);484        }485486        [Fact]487        public void Should_resolve_BeforeAfterTestRun_hook_parameter_from_test_thread_container()488        {489            var testExecutionEngine = CreateTestExecutionEngine();490            RegisterStepDefinition();491492            var beforeHook = CreateParametrizedHookMock(beforeTestRunEvents, typeof(DummyClass));493            var afterHook = CreateParametrizedHookMock(afterTestRunEvents, typeof(DummyClass));494495            testExecutionEngine.OnTestRunStart();496            testExecutionEngine.OnTestRunEnd();497498            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);499            AssertHooksWasCalledWithParam(afterHook, DummyClass.LastInstance);500            testObjectResolverMock.Verify(bir => bir.ResolveBindingInstance(typeof(DummyClass), testThreadContainer),501                Times.Exactly(2));502        }503504        [Fact]505        public void Should_resolve_BeforeAfterScenario_hook_parameter_from_scenario_container()506        {507            var testExecutionEngine = CreateTestExecutionEngine();508            RegisterStepDefinition();509510            var beforeHook = CreateParametrizedHookMock(beforeScenarioEvents, typeof(DummyClass));511            var afterHook = CreateParametrizedHookMock(afterScenarioEvents, typeof(DummyClass));512513            testExecutionEngine.OnScenarioInitialize(scenarioInfo);514            testExecutionEngine.OnScenarioStart();515            testExecutionEngine.OnScenarioEnd();516517            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);518            AssertHooksWasCalledWithParam(afterHook, DummyClass.LastInstance);519            testObjectResolverMock.Verify(bir => bir.ResolveBindingInstance(typeof(DummyClass), scenarioContainer),520                Times.Exactly(2));521        }522523        [Fact]524        public void Should_be_possible_to_register_instance_in_scenario_container_before_firing_scenario_events()525        {526            var testExecutionEngine = CreateTestExecutionEngine();527            var instanceToAddBeforeScenarioEventFiring = new AnotherDummyClass();528            var beforeHook = CreateParametrizedHookMock(beforeScenarioEvents, typeof(DummyClass));529530            // Setup binding method mock so it attempts to resolve an instance from the scenario container.531            // If this fails, then the instance was not registered before the method was invoked.532            TimeSpan dummyOutTimeSpan;533            AnotherDummyClass actualInstance = null;534            methodBindingInvokerMock.Setup(s => s.InvokeBinding(It.IsAny<IBinding>(), It.IsAny<IContextManager>(),535                    It.IsAny<object[]>(),It.IsAny<ITestTracer>(), out dummyOutTimeSpan))536                .Callback(() => actualInstance = testExecutionEngine.ScenarioContext.ScenarioContainer.Resolve<AnotherDummyClass>());537538            testExecutionEngine.OnScenarioInitialize(scenarioInfo);539            testExecutionEngine.ScenarioContext.ScenarioContainer.RegisterInstanceAs(instanceToAddBeforeScenarioEventFiring);540            testExecutionEngine.OnScenarioStart();541            actualInstance.Should().BeSameAs(instanceToAddBeforeScenarioEventFiring);542543            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);544        }545546        [Fact]547        public void Should_resolve_BeforeAfterScenarioBlock_hook_parameter_from_scenario_container()548        {549            var testExecutionEngine = CreateTestExecutionEngine();550            RegisterStepDefinition();551552            var beforeHook = CreateParametrizedHookMock(beforeScenarioBlockEvents, typeof(DummyClass));553            var afterHook = CreateParametrizedHookMock(afterScenarioBlockEvents, typeof(DummyClass));554555            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);556            testExecutionEngine.OnAfterLastStep();557558            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);559            AssertHooksWasCalledWithParam(afterHook, DummyClass.LastInstance);560            testObjectResolverMock.Verify(bir => bir.ResolveBindingInstance(typeof(DummyClass), scenarioContainer),561                Times.Exactly(2));562        }563564        [Fact]565        public void Should_resolve_BeforeAfterStep_hook_parameter_from_scenario_container()566        {567            var testExecutionEngine = CreateTestExecutionEngine();568            RegisterStepDefinition();569570            var beforeHook = CreateParametrizedHookMock(beforeStepEvents, typeof(DummyClass));571            var afterHook = CreateParametrizedHookMock(afterStepEvents, typeof(DummyClass));572573            testExecutionEngine.Step(StepDefinitionKeyword.Given, null, "foo", null, null);574575            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);576            AssertHooksWasCalledWithParam(afterHook, DummyClass.LastInstance);577            testObjectResolverMock.Verify(bir => bir.ResolveBindingInstance(typeof(DummyClass), scenarioContainer),578                Times.Exactly(2));579        }580581        [Fact]582        public void Should_resolve_BeforeAfterFeature_hook_parameter_from_feature_container()583        {584            var testExecutionEngine = CreateTestExecutionEngine();585            RegisterStepDefinition();586587            var beforeHook = CreateParametrizedHookMock(beforeFeatureEvents, typeof(DummyClass));588            var afterHook = CreateParametrizedHookMock(afterFeatureEvents, typeof(DummyClass));589590            testExecutionEngine.OnFeatureStart(featureInfo);591            testExecutionEngine.OnFeatureEnd();592593            AssertHooksWasCalledWithParam(beforeHook, DummyClass.LastInstance);594            AssertHooksWasCalledWithParam(afterHook, DummyClass.LastInstance);595            testObjectResolverMock.Verify(bir => bir.ResolveBindingInstance(typeof(DummyClass), featureContainer),596                Times.Exactly(2));597        }598599        [Fact]600        public void Should_TryToSend_ProjectRunningEvent()601        {602            _analyticsTransmitter.SetupGet(at => at.IsEnabled).Returns(true);603604            var testExecutionEngine = CreateTestExecutionEngine();605606            testExecutionEngine.OnTestRunStart();607608            _analyticsTransmitter.Verify(at => at.TransmitSpecFlowProjectRunningEvent(It.IsAny<SpecFlowProjectRunningEvent>()), Times.Once);609        }
...

Full Screen

Full Screen

DummyClass

Using AI Code Generation

copy

Full Screen

1using TechTalk.SpecFlow.RuntimeTests.Infrastructure;2using TechTalk.SpecFlow.RuntimeTests.Infrastructure;3using TechTalk.SpecFlow.RuntimeTests.Infrastructure;4using TechTalk.SpecFlow.RuntimeTests.Infrastructure;5using TechTalk.SpecFlow.RuntimeTests.Infrastructure;6using TechTalk.SpecFlow.RuntimeTests.Infrastructure;7using TechTalk.SpecFlow.RuntimeTests.Infrastructure;8using TechTalk.SpecFlow.RuntimeTests.Infrastructure;9using TechTalk.SpecFlow.RuntimeTests.Infrastructure;10using TechTalk.SpecFlow.RuntimeTests.Infrastructure;11using TechTalk.SpecFlow.RuntimeTests.Infrastructure;12using TechTalk.SpecFlow.RuntimeTests.Infrastructure;13using TechTalk.SpecFlow.RuntimeTests.Infrastructure;14using TechTalk.SpecFlow.RuntimeTests.Infrastructure;15using TechTalk.SpecFlow.RuntimeTests.Infrastructure;

Full Screen

Full Screen

DummyClass

Using AI Code Generation

copy

Full Screen

1using TechTalk.SpecFlow.RuntimeTests.Infrastructure;2{3    {4        public void DummyMethod()5        {6            var dummyClass = new DummyClass();7        }8    }9}10using TechTalk.SpecFlow.RuntimeTests.Infrastructure;11{12    {13        public void DummyMethod()14        {15            var dummyClass = new DummyClass();16        }17    }18}19using TechTalk.SpecFlow.RuntimeTests.Infrastructure;20{21    {22        public void DummyMethod()23        {24            var dummyClass = new DummyClass();25        }26    }27}28using TechTalk.SpecFlow.RuntimeTests.Infrastructure;29{30    {31        public void DummyMethod()32        {33            var dummyClass = new DummyClass();34        }35    }36}37using TechTalk.SpecFlow.RuntimeTests.Infrastructure;38{39    {40        public void DummyMethod()41        {42            var dummyClass = new DummyClass();43        }44    }45}46using TechTalk.SpecFlow.RuntimeTests.Infrastructure;47{48    {49        public void DummyMethod()50        {51            var dummyClass = new DummyClass();52        }53    }54}55using TechTalk.SpecFlow.RuntimeTests.Infrastructure;56{57    {58        public void DummyMethod()59        {60            var dummyClass = new DummyClass();61        }62    }63}64using TechTalk.SpecFlow.RuntimeTests.Infrastructure;65{66    {

Full Screen

Full Screen

DummyClass

Using AI Code Generation

copy

Full Screen

1using TechTalk.SpecFlow.RuntimeTests.Infrastructure;2{3    {4        static void Main(string[] args)5        {6            var dummy = new DummyClass();7            dummy.DoSomething();8        }9    }10}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run SpecFlow automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used methods in DummyClass

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful