コード例 #1
0
        public override bool Execute()
        {
            if (TestAssemblies.Length == 0)
            {
                throw new ArgumentException("At least one test assembly is required");
            }

            var        logString        = new StringBuilder();
            TextWriter msbuildLogWriter = new StringWriter(logString);
            var        output           = new PlainTextOutput(msbuildLogWriter);

            WriteHeaderInto(output);

            var config = NBehaveConfiguration.New
                         .DontIsolateInAppDomain()
                         .SetScenarioFiles(ScenarioFiles)
                         .SetDryRun(DryRun)
                         .SetAssemblies(TestAssemblies)
                         .SetEventListener(EventListeners.CreateEventListenerUsing(msbuildLogWriter, TextOutputFile, XmlOutputFile));
            var runner = RunnerFactory.CreateTextRunner(config);

            FeatureResults = runner.Run();

            if (DryRun)
            {
                return(true);
            }

            var message = logString.ToString();

            Log.LogMessage(message);

            if (FailBuild && FailBuildBasedOn(FeatureResults))
            {
                return(false);
            }

            return(true);
        }
コード例 #2
0
ファイル: NBehaveTask.cs プロジェクト: gpolunin/NBehave
        protected override void ExecuteTask()
        {
            if (TestAssemblies.FileNames.Count == 0)
            {
                throw new BuildException("At least one test assembly is required");
            }

            var nantLogWriter = new LogWriter(this, Level.Info, CultureInfo.InvariantCulture);
            var output        = new PlainTextOutput(nantLogWriter);

            WriteHeaderInto(output);

            var listener = EventListeners.CreateEventListenerUsing(nantLogWriter,
                                                                   TextOutputFile,
                                                                   XmlOutputFile);

            var runner = NBehaveConfiguration
                         .New
                         .SetDryRun(DryRun)
                         .SetScenarioFiles(ScenarioFiles.FileNames.Cast <string>().ToList())
                         .SetAssemblies(TestAssemblies.FileNames.Cast <string>().ToList())
                         .SetEventListener(listener)
                         .Build();

            var results = runner.Run();

            if (DryRun)
            {
                return;
            }

            if (FailBuild)
            {
                FailBuildBasedOn(results);
            }
        }