in src/extensions/testframework/YamlTestFrameworkConsoleHost.cs [45:118]
public bool Finish(IDictionary<string, IList<TestResult>> resultsByTestCaseId, string outputResultsFormat = "trx", string? outputResultsFile = null)
{
_testRun.EndRun();
var allResults = resultsByTestCaseId.Values.SelectMany(x => x);
var failedResults = allResults.Where(x => x.Outcome == TestOutcome.Failed).ToList();
var passedResults = allResults.Where(x => x.Outcome == TestOutcome.Passed).ToList();
var skippedResults = allResults.Where(x => x.Outcome == TestOutcome.Skipped).ToList();
var passed = failedResults.Count == 0;
if (failedResults.Count > 0)
{
Console.ResetColor();
Console.WriteLine();
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
Console.Write("FAILURE SUMMARY:");
Console.ResetColor();
Console.WriteLine();
failedResults.ForEach(r => PrintResult(r));
}
else
{
Console.WriteLine();
}
var count = allResults.Count();
var duration = TimeSpanFormatter.FormatMsOrSeconds(_testRun.Duration);
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.Write("TEST RESULT SUMMARY:");
Console.ResetColor();
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.Write($"\nPassed: {passedResults.Count}");
Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
Console.WriteLine($" ({100f * passedResults.Count / count:0.0}%)");
if (failedResults.Count > 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write($"Failed: {failedResults.Count}");
Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
Console.WriteLine($" ({100f * failedResults.Count / count:0.0}%)");
}
if (skippedResults.Count > 0)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.Write($"Skipped: {skippedResults.Count}");
Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
Console.WriteLine($" ({100f * skippedResults.Count / count:0.0}%)");
}
Console.ResetColor();
Console.Write("\nTests: ");
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write($"{count}");
Console.ForegroundColor = ColorHelpers.MapColor(ConsoleColor.DarkGray);
Console.WriteLine($" ({duration})");
if (outputResultsFormat == "trx")
{
PrintResultsFile(TrxXmlTestReporter.WriteResultsFile(_testRun, outputResultsFile));
}
else if (outputResultsFormat == "junit")
{
PrintResultsFile(JunitXmlTestReporter.WriteResultsFile(_testRun, outputResultsFile));
}
return passed;
}