コード例 #1
0
        //---------------------------------------------------------------------
        private void AddTestSuite(string testSuiteName, IEnumerable <TrxTestDefinition> trxTestDefinitions)
        {
            this.ResetCounters();

            var testSuite = new JUnitTestSuite();

            this.Result.TestSuites.Add(testSuite);

            testSuite.Name = testSuiteName;
            testSuite.Id   = _testId++;

            foreach (TrxTestDefinition trxTest in trxTestDefinitions)
            {
                this.AddTest(testSuite, trxTest);
            }

            testSuite.TestCount     = _counters.TestCount;
            testSuite.FailureCount  = _counters.Failures;
            testSuite.ErrorCount    = _counters.Errors;
            testSuite.SkippedCount  = _counters.Skipped;
            testSuite.TimeInSeconds = _counters.Time.TotalSeconds;

            if (_counters.TimeStamp.HasValue)
            {
                testSuite.TimeStamp = _counters.TimeStamp.Value;
            }
        }
コード例 #2
0
    //-------------------------------------------------------------------------
    private static void SetOutcome(JUnitTestSuite jUnitTestSuite, TrxResultSummary trxResultSummary)
    {
        TrxOutcome outcome = GetOutcome(jUnitTestSuite);

        if (outcome != TrxOutcome.Passed)
        {
            trxResultSummary.Outcome = outcome;
        }
    }
コード例 #3
0
        public void TrxTimes_Creation_is_null___TimeStamp_set()
        {
            var trxTimes       = new TrxTimes();
            var junitTestSuite = new JUnitTestSuite {
                TimeStamp = DateTime.Now
            };

            JUnit2TrxTestConverter.SetCreationTimestamp(junitTestSuite, trxTimes);

            Assert.AreEqual(junitTestSuite.TimeStamp, trxTimes.Creation);
        }
コード例 #4
0
    //-------------------------------------------------------------------------
    private static void SetOutput(JUnitTestSuite jUnitTestSuite, StringBuilder resultSummaryStdOutStringBuilder)
    {
        if (!string.IsNullOrWhiteSpace(jUnitTestSuite.SystemOut))
        {
            resultSummaryStdOutStringBuilder.AppendLine(jUnitTestSuite.SystemOut);
        }

        if (!string.IsNullOrWhiteSpace(jUnitTestSuite.SystemErr))
        {
            resultSummaryStdOutStringBuilder.AppendLine(jUnitTestSuite.SystemErr);
        }
    }
コード例 #5
0
        public void TrxTimes_Creation_has_value_TimeStamp_is_smaller___TimeStamp_set()
        {
            var trxTimes = new TrxTimes       {
                Creation = DateTime.Now
            };
            var junitTestSuite = new JUnitTestSuite {
                TimeStamp = DateTime.Now.AddSeconds(-1)
            };

            JUnit2TrxTestConverter.SetCreationTimestamp(junitTestSuite, trxTimes);

            Assert.AreEqual(junitTestSuite.TimeStamp, trxTimes.Creation.Value);
        }
コード例 #6
0
ファイル: GetOutcome.cs プロジェクト: sraja25/trx2junit
        public void All_tests_passed___Passed()
        {
            var jUnitTestSuite = new JUnitTestSuite
            {
                TestCount    = 5,
                ErrorCount   = 0,
                FailureCount = 0,
                SkippedCount = 0
            };

            TrxOutcome actual = JUnit2TrxTestConverter.GetOutcome(jUnitTestSuite);

            Assert.AreEqual(TrxOutcome.Passed, actual);
        }
コード例 #7
0
ファイル: GetOutcome.cs プロジェクト: sraja25/trx2junit
        public void Tests_contain_skipped___NotExecuted()
        {
            var jUnitTestSuite = new JUnitTestSuite
            {
                TestCount    = 5,
                ErrorCount   = 0,
                FailureCount = 0,
                SkippedCount = 1
            };

            TrxOutcome actual = JUnit2TrxTestConverter.GetOutcome(jUnitTestSuite);

            Assert.AreEqual(TrxOutcome.NotExecuted, actual);
        }
コード例 #8
0
        public void TrxTimes_Creation_has_value_TimeStamp_is_greater___nop()
        {
            DateTime now      = DateTime.Now;
            var      trxTimes = new TrxTimes       {
                Creation = now
            };
            var junitTestSuite = new JUnitTestSuite {
                TimeStamp = DateTime.Now.AddSeconds(1)
            };

            JUnit2TrxTestConverter.SetCreationTimestamp(junitTestSuite, trxTimes);

            Assert.AreEqual(now, trxTimes.Creation.Value);
        }
コード例 #9
0
 //-------------------------------------------------------------------------
 // internal for testing
 internal static void SetCreationTimestamp(JUnitTestSuite jUnitTestSuite, TrxTimes trxTimes)
 {
     if (trxTimes.Creation.HasValue)
     {
         if (jUnitTestSuite.TimeStamp < trxTimes.Creation)
         {
             trxTimes.Creation = jUnitTestSuite.TimeStamp;
         }
     }
     else
     {
         trxTimes.Creation = jUnitTestSuite.TimeStamp;
     }
 }
コード例 #10
0
    //-------------------------------------------------------------------------
    // internal for testing
    internal static TrxOutcome GetOutcome(JUnitTestSuite jUnitTestSuite)
    {
        if (jUnitTestSuite.FailureCount > 0 || jUnitTestSuite.ErrorCount > 0)
        {
            return(TrxOutcome.Failed);
        }

        if (jUnitTestSuite.SkippedCount > 0)
        {
            return(TrxOutcome.NotExecuted);
        }

        return(TrxOutcome.Passed);
    }
コード例 #11
0
    //-------------------------------------------------------------------------
    private void ProcessTestCases(JUnitTestSuite jUnitTestSuite, JUnitTestCase jUnitTestCase)
    {
        Guid executionId = Guid.NewGuid();
        Guid testId      = Guid.NewGuid();

        var trxUnitTestResult = new TrxUnitTestResult
        {
            ExecutionId  = executionId,
            TestId       = testId,
            StartTime    = jUnitTestSuite.TimeStamp,
            Duration     = TimeSpan.FromSeconds(jUnitTestCase.TimeInSeconds),
            EndTime      = jUnitTestSuite.TimeStamp.AddSeconds(jUnitTestCase.TimeInSeconds),
            TestName     = jUnitTestCase.Name,
            Outcome      = TrxOutcome.Passed,
            ComputerName = jUnitTestSuite.HostName
        };

        if (jUnitTestCase.Skipped)
        {
            trxUnitTestResult.Outcome = TrxOutcome.NotExecuted;
        }

        if (jUnitTestCase.Error != null)
        {
            trxUnitTestResult.Outcome    = TrxOutcome.Failed;
            trxUnitTestResult.Message    = jUnitTestCase.Error.Message;
            trxUnitTestResult.StackTrace = jUnitTestCase.Error.StackTrace;
        }

        trxUnitTestResult.StdErr = jUnitTestCase.SystemErr;
        trxUnitTestResult.StdOut = jUnitTestCase.SystemOut;

        var trxTestDefinition = new TrxTestDefinition
        {
            Id          = testId,
            ExecutionId = executionId,
            TestClass   = jUnitTestCase.ClassName,
            TestMethod  = jUnitTestCase.Name
        };

        this.Result.UnitTestResults.Add(trxUnitTestResult);
        this.Result.TestDefinitions.Add(trxTestDefinition);
    }
コード例 #12
0
 //---------------------------------------------------------------------
 private void AddTest(JUnitTestSuite junitTestSuite, TrxTestDefinition trxTestDefinition)
 {
     Debug.Assert(_trxTestDefinitionLookup != null);
     IEnumerable <TrxUnitTestResult> trxUnitTestResults = _trxTestDefinitionLookup ![trxTestDefinition.Id];