在单元测试中输出文本

时间:2010-09-17 18:01:05

标签: c# unit-testing mstest

当我运行单元测试时,我想打印并阅读运行函数所需的时间。我尝试使用Console.WriteLine()Trace.WriteLine(),但这不起作用。有人知道我应该使用的正确方法吗?

我有以下单元测试

[TestMethod()]
public void ProductSerializationTest()
{

    Stopwatch swSerialization = new Stopwatch();
    swSerialization.Start();
    SerializeProductsToXML(dummyProductList, XMLFolderPath);
    swSerialization.Stop();
    //Print out swSerialization.Elapsed value
 }

3 个答案:

答案 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()