Beispiel #1
0
        public void WriteTestResult(TextWriter output, VsTestOutcome outcome, Xunit.ExecutionSummary summary)
        {
            if (endTime == DateTime.MinValue)
            {
                endTime = DateTime.UtcNow;
            }

            using (var trx = new TrxWriter(output))
            {
                trx.WriteStartDocument(
                    testRunId: Guid.NewGuid(),
                    testRunName: startTime.ToString(CultureInfo.InvariantCulture),
                    testRunUser: "");

                trx.WriteTimes(creationTime, queuingTime, startTime, endTime);

                // Write results
                if (testResults.Count > 0)
                {
                    trx.WriteStartTestResults();
                    foreach (var pair in testResults)
                    {
                        trx.WriteTestResult(pair.Key, pair.Value);
                    }
                    trx.WriteEndTestResults();
                }

                // Write Test Definitions
                if (testResults.Count > 0)
                {
                    trx.WriteStartTestDefinitions();
                    foreach (var pair in testResults)
                    {
                        trx.WriteTestDefinition(pair.Key, pair.Value);
                    }
                    trx.WriteEndTestDefinitions();
                }

                // Write Test Entries
                if (testResults.Count > 0)
                {
                    trx.WriteStartTestEntries();
                    foreach (var pair in testResults)
                    {
                        trx.WriteTestEntry(pair.Key, pair.Value);
                    }
                    trx.WriteEndTestEntries();
                }

                trx.WriteResultSummary(outcome, summary);

                trx.WriteEndDocument();
            }
        }
Beispiel #2
0
        public void WriteResultSummary(VsTestOutcome outcome, Xunit.ExecutionSummary executionSummary)
        {
            if (!inDocument)
            {
                throw new InvalidOperationException("WriteStartDocument() not called");
            }

            xml.WriteStartElement("ResultSummary", XmlNamespace);
            xml.WriteAttributeString("outcome", VsTestOutcomeHelper.GetOutcomeString(outcome));

            xml.WriteStartElement("Counters", XmlNamespace);
            xml.WriteAttributeString("total", executionSummary.Total.ToString(CultureInfo.InvariantCulture));
            xml.WriteAttributeString("executed", (executionSummary.Total - executionSummary.Skipped).ToString(CultureInfo.InvariantCulture));
            xml.WriteAttributeString("passed", (executionSummary.Total - (executionSummary.Failed + executionSummary.Skipped)).ToString(CultureInfo.InvariantCulture));
            xml.WriteAttributeString("inconclusive", executionSummary.Skipped.ToString(CultureInfo.InvariantCulture));
            xml.WriteAttributeString("failed", executionSummary.Failed.ToString(CultureInfo.InvariantCulture));
            xml.WriteAttributeString("error", executionSummary.Errors.ToString(CultureInfo.InvariantCulture));
            xml.WriteEndElement(); // Counters

            xml.WriteEndElement(); // ResultSummary
        }