Example #1
0
        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());
            }
        }
Example #2
0
        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"));
        }
Example #3
0
        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();
        }