在UnitTests中输出文本

在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 
} 
+1

你想打印什么?调试器窗口,还是您正在从控制台应用程序运行测试并想要打印到实际控制台? – 2010-09-17 18:05:05

+0

我想打印出最方便的窗口。从我所看到的,输出窗口似乎是最方便的。 – burnt1ce 2010-09-17 18:16:09

+0

我刚刚使用了Debug.Print()。在你的测试资源管理器(VS)中点击你的测试,在底部应该有一个名为Output的链接,点击它 – Archmede 2016-06-09 21:18:16

如果你正在使用Visual Studio,其内置的测试支持,System.Diagnostics.Trace.WriteLine输出将去测试结果报告。也就是说,在测试运行后,双击测试结果列表中的条目,测试运行报告中会出现一个名为“调试跟踪”的部分。

由于您使用的是Microsoft.VisualStudio.TestTools.UnitTesting,因此最合理的方法是拨打TestContext.WriteLine()。这里是how to use a TestContext


由于我使用测试驱动和NUnit,我只是Console.WriteLine(),并且消息显示当我运行调试测试。

我有同样的问题。我终于找到了解决办法。当您在VS中运行测试时,请注意绿色检查或红色x?现在单击该链接,然后点击说输出的链接

即使未处于调试模式,也会显示所有Trace.WriteLine()