在UnitTests中输出文本
问题描述:
当我运行我的单元测试时,我想打印出来并阅读运行一个函数需要多长时间。我尝试使用Console.WriteLine()Trace.WriteLine(),但没有奏效。任何人都知道我应该使用的正确方法?在UnitTests中输出文本
我有以下的单元测试
[TestMethod()]
public void ProductSerializationTest()
{
Stopwatch swSerialization = new Stopwatch();
swSerialization.Start();
SerializeProductsToXML(dummyProductList, XMLFolderPath);
swSerialization.Stop();
//Print out swSerialization.Elapsed value
}
答
如果你正在使用Visual Studio,其内置的测试支持,System.Diagnostics.Trace.WriteLine
输出将去测试结果报告。也就是说,在测试运行后,双击测试结果列表中的条目,测试运行报告中会出现一个名为“调试跟踪”的部分。
答
由于您使用的是Microsoft.VisualStudio.TestTools.UnitTesting
,因此最合理的方法是拨打TestContext.WriteLine()。这里是how to use a TestContext。
由于我使用测试驱动和NUnit,我只是Console.WriteLine()
,并且消息显示当我运行调试测试。
答
我有同样的问题。我终于找到了解决办法。当您在VS中运行测试时,请注意绿色检查或红色x?现在单击该链接,然后点击说输出的链接
即使未处于调试模式,也会显示所有Trace.WriteLine()
。
你想打印什么?调试器窗口,还是您正在从控制台应用程序运行测试并想要打印到实际控制台? – 2010-09-17 18:05:05
我想打印出最方便的窗口。从我所看到的,输出窗口似乎是最方便的。 – burnt1ce 2010-09-17 18:16:09
我刚刚使用了Debug.Print()。在你的测试资源管理器(VS)中点击你的测试,在底部应该有一个名为Output的链接,点击它 – Archmede 2016-06-09 21:18:16