当我运行单元测试时,我想打印并阅读运行函数所需的时间。我尝试使用Console.WriteLine()Trace.WriteLine(),但这不起作用。有人知道我应该使用的正确方法吗?
我有以下单元测试
[TestMethod()]
public void ProductSerializationTest()
{
Stopwatch swSerialization = new Stopwatch();
swSerialization.Start();
SerializeProductsToXML(dummyProductList, XMLFolderPath);
swSerialization.Stop();
//Print out swSerialization.Elapsed value
}
答案 0 :(得分:6)
如果您使用Visual Studio及其内置测试支持,System.Diagnostics.Trace.WriteLine
的输出将转到测试结果报告。也就是说,在测试运行后,双击“测试结果”列表中的条目,测试运行报告中将出现一个名为“调试跟踪”的部分。
答案 1 :(得分:2)
由于您使用Microsoft.VisualStudio.TestTools.UnitTesting
,因此调用TestContext.WriteLine()是最合理的。这是how to use a TestContext。
由于我使用的是TestDriven和NUnit,我只是Console.WriteLine()
,并且当我使用调试器运行测试时会显示消息。
答案 2 :(得分:2)
我遇到了同样的问题。我最终找到了解决方案。在VS中运行测试时,请注意绿色检查或红色x ?现在点击它,然后点击输出
的链接即使不处于调试模式,也会显示所有Trace.WriteLine()
。