private async Task RunTests() { try { var assemblySuite = runner.Load(assembly, new Dictionary <string, object> { [FrameworkPackageSettings.NumberOfTestWorkers] = 0, [FrameworkPackageSettings.SynchronousEvents] = true, [FrameworkPackageSettings.RunOnMainThread] = true }); var textUI = new TextUI(writer, reader: null, options: new NUnitLiteOptions("--workers=0")); textUI.DisplayHeader(); textUI.DisplayTestFiles(new string[] { assembly.FullName }); var results = new List <ITestResult>(); foreach (var test in assemblySuite.Tests.SelectManyRecursive(suite => suite.Tests)) { if (test.HasChildren) { continue; } await Task.Delay(1); // Allow UI to respond results.Add(runner.Run(new TextUIAdapterListener(textUI), new SingleTestCaseFilter(test))); } var result = MergeTestResults(results); var summary = new ResultSummary(result); if (summary.ExplicitCount + summary.SkipCount + summary.IgnoreCount > 0) { textUI.DisplayNotRunReport(result); } textUI.DisplayErrorsFailuresAndWarningsReport(result); textUI.DisplayRunSettings(); textUI.DisplaySummaryReport(summary); OnTestRunEnded(); } catch (Exception ex) { writer.WriteLine(ColorStyle.Error, "Unhandled runner exception: "); writer.WriteLine(ColorStyle.Error, ex.ToString()); } }
public void ErrorsAndFailuresReportTest() { _textUI.DisplayErrorsFailuresAndWarningsReport(_result); var lines = GetReportLines(); Assert.That(lines[0], Is.EqualTo("Errors, Failures and Warnings")); Assert.That(lines[2], Is.EqualTo("1) Invalid : NUnit.Tests.Assemblies.MockTestFixture.NonPublicTest")); Assert.That(lines[3], Is.EqualTo("Method is not public")); Assert.That(lines[5], Is.EqualTo("2) Failed : NUnit.Tests.Assemblies.MockTestFixture.FailingTest")); Assert.That(lines[6], Is.EqualTo("Intentional failure")); Assert.That(lines[9], Is.EqualTo("3) Warning : NUnit.Tests.Assemblies.MockTestFixture.WarningTest")); Assert.That(lines[10], Is.EqualTo("Warning Message")); Assert.That(lines[13], Is.EqualTo("4) Invalid : NUnit.Tests.Assemblies.MockTestFixture.NotRunnableTest")); Assert.That(lines[14], Is.EqualTo("No arguments were provided")); Assert.That(lines[16], Is.EqualTo("5) Error : NUnit.Tests.Assemblies.MockTestFixture.TestWithException")); Assert.That(lines[17], Is.EqualTo("System.Exception : Intentional Exception")); }
public void ReportResults(ITestResult result) { Summary = new ResultSummary(result); if (Summary.ExplicitCount + Summary.SkipCount + Summary.IgnoreCount > 0) { _textUI.DisplayNotRunReport(result); } if (result.ResultState.Status == TestStatus.Failed || result.ResultState.Status == TestStatus.Warning) { _textUI.DisplayErrorsFailuresAndWarningsReport(result); } // _textUI.DisplayRunSettings(); // _textUI.DisplaySummaryReport(Summary); // _textUI.Writer.WriteLine("Summary:"); // _textUI.Writer.WriteLine(); if (Summary.FailedCount > 0) { _textUI.Writer.WriteLine(ColorStyle.Error, "\tFAILED"); _textUI.Writer.WriteLine(); _textUI.Writer.WriteLine($"\t {Summary.FailedCount} tests failed"); _textUI.Writer.WriteLine($"\t {Summary.PassCount} tests passed"); } else { _textUI.Writer.WriteLine(ColorStyle.Pass, "\tPASSED"); _textUI.Writer.WriteLine(); } _textUI.Writer.WriteLine($"\tTotal of {Summary.TestCount} tests run in {Summary.Duration:F0}s"); _textUI.Writer.WriteLine(); }