private void Initialize(TaskExecutionNode node) { config = NBehaveConfiguration.New; var codeGenListener = new CodeGenEventListener(); var resharperResultNotifier = new ResharperResultPublisher(node.Children, Server, codeGenListener); var listener = new NBehaveTaskRunnerListener(resharperResultNotifier); var files = node.Children.Select(_ => ((NBehaveFeatureTask)_.RemoteTask).FeatureFile).Distinct().ToList(); var asm = (NBehaveAssemblyTask)node.RemoteTask; var assemblies = new[] { asm.AssemblyFile }; var eventListener = new MultiOutputEventListener(codeGenListener, listener); ModifyConfig(files, assemblies, eventListener); }
private IEnumerable<Feature> ParseFeatures(IEnumerable<string> featureFiles, NBehaveConfiguration configuration) { var features = new List<Feature>(); EventHandler<EventArgs<Feature>> featureStarted = (s, e) => features.Add(e.EventInfo); var parser = new GherkinScenarioParser(configuration); parser.FeatureEvent += featureStarted; foreach (var featureFile in featureFiles) { try { parser.Parse(featureFile); } catch (ParseException) { } } parser.FeatureEvent -= featureStarted; return features; }
private static FeatureResults Run(NBehaveConfiguration config) { IRunner runner = config.Build(); FeatureResults featureResults = runner.Run(); return featureResults; }