public override void Execute(IProcessSteps stepProcessor, IProcessScenarioHooks hookProcessor, IFormatOutput outputFormatter) { hookProcessor.ProcessBeforeScenarioHooks(Tags); if(Feature.Background != null) Feature.Background.Execute(stepProcessor, hookProcessor, outputFormatter); outputFormatter.SkippingSteps = false; outputFormatter.WriteScenarioTitle(this); foreach (var step in Steps) { step.Execute(stepProcessor, hookProcessor, outputFormatter); } var result = new ScenarioResult(null); //TODO: Load an appropriate scenarioResult here... hookProcessor.ProcessAfterScenarioHooks(Tags, result); outputFormatter.WriteLineBreak(); }
public void ProcessAfterScenarioHooks(IEnumerable<string> tags, ScenarioResult result) { foreach (var hook in afterScenarioHooks) { if (ShouldHookExecute(hook, tags)) hook.Action.Invoke(result); } }