示例#1
0
        static void FillNunitReport(NUnitResultCollector nunitReport, Runner[] runners)
        {
            foreach (Runner runner in runners)
            {
                if (runner == null)
                {
                    continue;
                }

                NUnit.Core.TestResult[] results = runner.GetTestResults();
                nunitReport.AddResults(results);
            }
        }
示例#2
0
        private static void PrintResults(Runner[] runners,
            DateTime beginTimeStamp, DateTime endTimeStamp, NUnitResultCollector nunitReport)
        {
            double TotalBiggerTime = 0;
            int TotalTests = 0;
            int TotalExecutedTests = 0;
            int TotalIgnoredTests = 0;
            int TotalFailedTests = 0;
            int TotalSuccessTests = 0;

            IList failedTests = new ArrayList();

            int j;
            foreach (Runner runner in runners)
            {
                int ExecutedTests = 0;
                int FailedTests = 0;
                int SuccessTests = 0;
                int IgnoredTests = 0;
                double BiggerTime = 0;
                TestResult[] results = runner.GetTestResults();
                Log(string.Format("==== Tests Results for Parallel TestGroup {0} ===", runner.TestGroupName));
                j = 0;

                nunitReport.AddResults(results);

                foreach (TestResult res in results)
                {
                    if (!res.Executed)
                    {
                        ++IgnoredTests;
                        continue;
                    }
                    if (res.Executed)
                        ++ExecutedTests;
                    if (res.IsFailure)
                        ++FailedTests;
                    if (res.IsSuccess)
                        ++SuccessTests;

                    PrintResult(++j, res);

                    if (res.Time > BiggerTime)
                        BiggerTime = res.Time;

                    if (res.IsFailure)
                        failedTests.Add(res);
                }

                Log("Summary:");
                Log(string.Format(
                    "\tTotal: {0}\r\n" +
                    "\tExecuted: {1}\r\n" +
                    "\tIgnored: {2}\r\n" +
                    "\tFailed: {3}\r\n" +
                    "\tSuccess: {4}\r\n" +
                    "\t% Success: {5}\r\n" +
                    "\tBiggest Execution Time: {6} s\r\n",
                    results.Length, ExecutedTests, IgnoredTests, FailedTests, SuccessTests,
                    results.Length > 0 ? 100 * SuccessTests / results.Length : 0,
                    BiggerTime));

                TotalTests += results.Length;
                TotalExecutedTests += ExecutedTests;
                TotalIgnoredTests += IgnoredTests;
                TotalFailedTests += FailedTests;
                TotalSuccessTests += SuccessTests;
                TotalBiggerTime += BiggerTime;
            }

            // print all failed tests together
            if (failedTests.Count > 0)
            {
                Log("==== Failed tests ===");
                for (j = 0; j < failedTests.Count; ++j)
                    PrintResult(j, failedTests[j] as PNUnitTestResult);
            }

            if (runners.Length > 1)
            {
                Log("Summary for all the parallel tests:");
                Log(string.Format(
                    "R00:\tTotal: {0}\r\nR01:\t" +
                    "Executed: {1}\r\nR02:\t" +
                    "Ignored: {2}\r\nR03:\t" +
                    "Failed: {3}\r\nR04:\t" +
                    "Success: {4}\r\nR05:\t%" +
                    "Success: {5}\r\nR06:\tBiggest Execution Time: {6} s\r\n",
                    TotalTests, TotalExecutedTests, TotalIgnoredTests, TotalFailedTests,
                    TotalSuccessTests,
                    TotalTests > 0 ? 100 * TotalSuccessTests / TotalTests : 0,
                    TotalBiggerTime));
            }

            TimeSpan elapsedTime = endTimeStamp.Subtract(beginTimeStamp);
            Log(string.Format("Launcher execution time: {0} seconds", elapsedTime.TotalSeconds));
        }