diff --git a/TechTalk.SpecFlow/Infrastructure/TestExecutionEngine.cs b/TechTalk.SpecFlow/Infrastructure/TestExecutionEngine.cs index 67a61b837..18e4b5bc1 100644 --- a/TechTalk.SpecFlow/Infrastructure/TestExecutionEngine.cs +++ b/TechTalk.SpecFlow/Infrastructure/TestExecutionEngine.cs @@ -127,7 +127,7 @@ public virtual void OnTestRunEnd() FireEvents(HookType.AfterTestRun); } - public void OnFeatureStart(FeatureInfo featureInfo) + 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 @@ -145,7 +145,7 @@ public void OnFeatureStart(FeatureInfo featureInfo) FireEvents(HookType.BeforeFeature); } - public void OnFeatureEnd() + public virtual void OnFeatureEnd() { // if the unit test provider would execute the fixture teardown code // only delayed (at the end of the execution), we ignore the @@ -166,18 +166,18 @@ public void OnFeatureEnd() _contextManager.CleanupFeatureContext(); } - public void OnScenarioInitialize(ScenarioInfo scenarioInfo) + public virtual void OnScenarioInitialize(ScenarioInfo scenarioInfo) { _contextManager.InitializeScenarioContext(scenarioInfo); } - public void OnScenarioStart() + public virtual void OnScenarioStart() { _cucumberMessageSender.SendTestCaseStarted(_contextManager.ScenarioContext.ScenarioInfo); FireScenarioEvents(HookType.BeforeScenario); } - public void OnAfterLastStep() + public virtual void OnAfterLastStep() { HandleBlockSwitch(ScenarioBlock.None); @@ -235,7 +235,7 @@ public void OnAfterLastStep() throw _contextManager.ScenarioContext.TestError; } - public void OnScenarioEnd() + public virtual void OnScenarioEnd() { if (_contextManager.ScenarioContext.ScenarioExecutionStatus != ScenarioExecutionStatus.Skipped) { @@ -245,14 +245,14 @@ public void OnScenarioEnd() _contextManager.CleanupScenarioContext(); } - public void OnScenarioSkipped() + public virtual void OnScenarioSkipped() { // after discussing the placement of message sending points, this placement causes far less effort than rewriting the whole logic _cucumberMessageSender.SendTestCaseStarted(_contextManager.ScenarioContext.ScenarioInfo); _contextManager.ScenarioContext.ScenarioExecutionStatus = ScenarioExecutionStatus.Skipped; } - public void Pending() + public virtual void Pending() { throw _errorProvider.GetPendingStepDefinitionError(); }