public void ReportTests(TestResults results) { if (results != null) { var tests = results.GetTests().ToList(); // unfortunately we cant capture names or details of "non failed" tests at present, so need to generate names for all non failed tests! foreach (var test in tests) { if (test.Kind == TestResultKind.Skipped) { ReportTestIgnored(test); continue; } ReportTestStarted(test); if (test.Kind == TestResultKind.Failure) { ReportTestFailed(test); } ReportTestFinished(test); testCounter = testCounter + 1; } } }
public void ReportTests(TestResults results) { if (results != null) { var tests = results.GetTests().ToList(); var passedTests = tests.Where(t => t.Kind == TestResultKind.Passed).ToList(); var skippedTests = tests.Where(t => t.Kind == TestResultKind.Skipped).ToList(); var inconclusiveTests = tests.Where(t => t.Kind == TestResultKind.Inconclusive).ToList(); var failedTests = tests.Where(t => t.Kind == TestResultKind.Failure).ToList(); _Writer(string.Format("Tests Summary", passedTests.Count)); _Writer("---------------------"); _Writer(string.Format(" Passed: {0}", passedTests.Count)); _Writer(string.Format(" Skipped: {0}", skippedTests.Count)); _Writer(string.Format(" Inconclusive: {0}", inconclusiveTests.Count)); _Writer(string.Format(" Failed: {0}", failedTests.Count)); if (failedTests.Any()) { _Writer(string.Format("Failed Tests", passedTests.Count)); foreach (var failedTest in failedTests) { _Writer("-----------------------------------------------"); _Writer(string.Format(" Name: {0}", failedTest.Name)); _Writer(string.Format(" Message: {0}", failedTest.Message)); _Writer(string.Format(" Output: {0}", failedTest.StackTrace)); _Writer("-----------------------------------------------"); } } } // DO NOTHING. }
public void Can_Union_Test_Results() { var resultSetOne = new TestResults(); var testA = new TestResult("My Special Test A", TestResultKind.Passed); resultSetOne.AddTest(testA); var testB = new TestResult("My Special Test B", TestResultKind.Failure); testB.StackTrace = "Special stack trace"; resultSetOne.AddTest(testB); var testC = new TestResult("My Special Test C", TestResultKind.Skipped); resultSetOne.AddTest(testC); var resultSetTwo = new TestResults(); var dummyTestA = new TestResult("", TestResultKind.Passed); resultSetTwo.AddTest(dummyTestA); var dummyTestB = new TestResult("My Special Test B", TestResultKind.Failure); resultSetTwo.AddTest(dummyTestB); var dummyTestC = new TestResult("", TestResultKind.Inconclusive); resultSetTwo.AddTest(dummyTestC); resultSetOne.Merge(resultSetTwo); Assert.That(resultSetOne != null); var tests = resultSetOne.GetTests().ToList(); Assert.That(tests.Count == 4); var firstTest = tests[0]; Assert.That(firstTest.Name == testA.Name); Assert.That(firstTest.Kind == testA.Kind); var secondTest = tests[1]; Assert.That(secondTest.Name == testB.Name); Assert.That(secondTest.Kind == testB.Kind); Assert.That(secondTest.StackTrace == testB.StackTrace); var thirdTest = tests[2]; Assert.That(thirdTest.Name == testC.Name); Assert.That(thirdTest.Kind == testC.Kind); var fourthTest = tests[3]; Assert.That(fourthTest.Name == dummyTestC.Name); Assert.That(fourthTest.Kind == dummyTestC.Kind); }
private static int GetReturnCode(TestResults testResults) { // TODO: Use reporter to report on tests to STDOUT. if (testResults == null) { return -1; //error? } var tests = testResults.GetTests().ToList(); if (tests.Any(a => a.Kind == TestResultKind.Failure)) { return -2; // there are failed unit tests. } // no failed unit tests. return 0; }