NUnitPlugin/TeamCityStatWriter.cs (34 lines of code) (raw):
namespace NUnitPlugin
{
using System.Globalization;
using System.IO;
using System.Xml;
using JetBrains.TeamCity.ServiceMessages.Write.Special;
using NUnit.Engine.Extensibility;
[Extension]
[ExtensionProperty("Format", "TeamCityStat")]
public class TeamCityStatWriter : IResultWriter
{
private static readonly ITeamCityWriter TeamCityWriter = new TeamCityServiceMessages().CreateWriter();
public void CheckWritability(string outputPath)
{
}
public void WriteResultFile(XmlNode resultNode, string outputPath)
{
var durationAttr = resultNode.Attributes?["duration"];
if (durationAttr?.Value == null)
{
return;
}
double durationValue;
if (!double.TryParse(durationAttr.Value, NumberStyles.Any, CultureInfo.InvariantCulture, out durationValue))
{
return;
}
TeamCityWriter.WriteBuildStatistics("TestsDuration", durationValue.ToString(CultureInfo.InvariantCulture));
}
public void WriteResultFile(XmlNode resultNode, TextWriter writer)
{
}
}
}