//--------------------------------------------------------------------- // 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; } }
//--------------------------------------------------------------------- private void BuildResults(ICollection <JUnitTestSuite> jUnitTestSuites) { var trxTimes = new TrxTimes(); var trxResultSummary = new TrxResultSummary(); var resultSummaryStdOutStringBuilder = new StringBuilder(); TimeSpan executionTime = default; foreach (JUnitTestSuite jUnitTestSuite in jUnitTestSuites) { trxResultSummary.Total += jUnitTestSuite.TestCount; trxResultSummary.Errors += jUnitTestSuite.ErrorCount ?? 0; trxResultSummary.Executed += jUnitTestSuite.TestCount - jUnitTestSuite.SkippedCount ?? 0; trxResultSummary.Failed += jUnitTestSuite.FailureCount ?? 0; trxResultSummary.Passed += (jUnitTestSuite.TestCount - (jUnitTestSuite.ErrorCount ?? 0) - (jUnitTestSuite.FailureCount ?? 0) - (jUnitTestSuite.SkippedCount ?? 0)); executionTime += TimeSpan.FromSeconds(jUnitTestSuite.TimeInSeconds); SetOutcome(jUnitTestSuite, trxResultSummary); SetCreationTimestamp(jUnitTestSuite, trxTimes); SetOutput(jUnitTestSuite, resultSummaryStdOutStringBuilder); foreach (JUnitTestCase junitTestCase in jUnitTestSuite.TestCases) { this.ProcessTestCases(jUnitTestSuite, junitTestCase); } } if (resultSummaryStdOutStringBuilder.Length > 0) { trxResultSummary.StdOut = resultSummaryStdOutStringBuilder.ToString(); } if (this.Result.TestDefinitions.Count > 0) { Debug.Assert(trxTimes.Creation.HasValue); trxTimes.Finish = trxTimes.Creation !.Value + executionTime; this.Result.Times = trxTimes; this.Result.ResultSummary = trxResultSummary; } }