示例#1
0
        public void WriteSummaryReport()
        {
            ColorStyle overall = OverallResult == "Passed"
                ? ColorStyle.Pass
                : OverallResult == "Failed" || OverallResult == "Unknown"
                    ? ColorStyle.Failure
                    : OverallResult == "Warning"
                        ? ColorStyle.Warning
                        : ColorStyle.Output;

            Writer.WriteLine(ColorStyle.SectionHeader, "Test Run Summary");
            Writer.WriteLabelLine("  Overall result: ", OverallResult, overall);

            WriteSummaryCount("  Test Count: ", Summary.TestCount);
            WriteSummaryCount(", Passed: ", Summary.PassCount);
            WriteSummaryCount(", Failed: ", Summary.FailedCount, ColorStyle.Failure);
            WriteSummaryCount(", Warnings: ", Summary.WarningCount, ColorStyle.Warning);
            WriteSummaryCount(", Inconclusive: ", Summary.InconclusiveCount);
            WriteSummaryCount(", Skipped: ", Summary.TotalSkipCount);
            Writer.WriteLine();

            if (Summary.FailedCount > 0)
            {
                WriteSummaryCount("    Failed Tests - Failures: ", Summary.FailureCount);
                WriteSummaryCount(", Errors: ", Summary.ErrorCount, ColorStyle.Error);
                WriteSummaryCount(", Invalid: ", Summary.InvalidCount);
                Writer.WriteLine();
            }
            if (Summary.TotalSkipCount > 0)
            {
                WriteSummaryCount("    Skipped Tests - Ignored: ", Summary.IgnoreCount);
                WriteSummaryCount(", Explicit: ", Summary.ExplicitCount);
                WriteSummaryCount(", Other: ", Summary.SkipCount);
                Writer.WriteLine();
            }

            var duration  = ResultNode.GetAttribute("duration", 0.0);
            var startTime = ResultNode.GetAttribute("start-time", DateTime.MinValue);
            var endTime   = ResultNode.GetAttribute("end-time", DateTime.MaxValue);

            Writer.WriteLabelLine("  Start time: ", startTime.ToString("u"));
            Writer.WriteLabelLine("    End time: ", endTime.ToString("u"));
            Writer.WriteLabelLine("    Duration: ", string.Format(NumberFormatInfo.InvariantInfo, "{0:0.000} seconds", duration));
            Writer.WriteLine();
        }