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