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); }
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); } }