示例#1
0
        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);
        }
示例#2
0
        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;
 }