static void DisplayRunResult(RunSummary summary, int totalRuns)
{
var runDescriptor = summary.RunDescriptor;
var runResult = summary.Result;
Console.WriteLine("------------------------------------------------------");
Console.WriteLine("Test summary for: {0}", runDescriptor.Key);
if (totalRuns > 1)
{
Console.WriteLine(" - Permutation: {0}({1})", runDescriptor.Permutation, totalRuns);
}
Console.WriteLine();
PrintSettings(runDescriptor.Settings);
Console.WriteLine();
Console.WriteLine("Endpoints:");
foreach (var endpoint in runResult.ActiveEndpoints)
{
Console.WriteLine(" - {0}", endpoint);
}
if (runResult.Failed)
{
Console.WriteLine("Test failed: {0}", runResult.Exception);
}
else
{
Console.WriteLine("Result: Successful - Duration: {0}", runResult.TotalTime);
}
//dump trace and context regardless since asserts outside the should could still fail the test
Console.WriteLine();
Console.WriteLine("Context:");
foreach (var prop in runResult.ScenarioContext.GetType().GetProperties())
{
if (prop.Name == "Trace")
{
continue;
}
Console.WriteLine("{0} = {1}", prop.Name, prop.GetValue(runResult.ScenarioContext, null));
}
Console.WriteLine();
Console.WriteLine("Trace:");
Console.WriteLine(runResult.ScenarioContext.Trace);
Console.WriteLine("------------------------------------------------------");
}