コード例 #1
0
 public IEnumerable<Feature> LoadFiles(IEnumerable<string> files)
 {
     var textParser = new GherkinScenarioParser(configuration);
     var features = new List<Feature>();
     Feature feature = null;
     textParser.FeatureEvent += (s, e) =>
                                    {
                                        feature = e.EventInfo;
                                        features.Add(e.EventInfo);
                                    };
     textParser.ScenarioEvent += (s, e) =>
                                     {
                                         if (feature == null)
                                         {
                                             feature = e.EventInfo.Feature;
                                             features.Add(feature);
                                         }
                                     };
     foreach (var file in files)
     {
         feature = null;
         textParser.Parse(file);
     }
     return features;
 }
コード例 #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;
        }