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);

        }      
Пример #4
0
        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;
        }