当我的单元测试在Visual Studio 2008中运行时,如何查看控制台输出?

时间:2009-11-01 11:11:01

标签: visual-studio-2008 unit-testing

如何在单元测试运行时查看控制台输出?我正在使用Visual Studio 2008单元测试框架。所以我知道测试完成后我可以进入测试的结果页面并单击输出,但是我正在采用一种方法,可以在执行单元测试时有效地观察测试的控制台输出。

编辑 - 对开箱即用的VS的特定答案感兴趣(即无需购买插件)

3 个答案:

答案 0 :(得分:2)

您可以使用

System.Diagnostics.Debug.WriteLine("Message");

在单元测试运行时输出到“输出”选项卡。

如果您使用的是Console.Out.WriteLine(“消息”),则只会在测试运行结束时显示,如您所述。

我使用以下内容为我提供运行时消息和测试结果输出结束:

private void TestTrace(string message)
{
    System.Diagnostics.Debug.WriteLine(message);
    Console.Out.WriteLine(message);
}

答案 1 :(得分:0)

使用类似ReSharper或TestDriven.net的TDD插件

答案 2 :(得分:0)

dodgy_coder's answer略有改进,让你使用Console.WriteLine的可变参数语法,格式语句后跟任意长度的对象列表。

    private void TestTrace(string message, params object[] args)
    {
        System.Diagnostics.Debug.WriteLine(String.Format(message,args));
        Console.Out.WriteLine(message,args);
    }

    void ex()
    {
        TestTrace("foo {0} {1}",bar,zzyzx);
    }

请注意,必须在调试模式下运行。在发布模式下,System.Diagnostics.Debug消息被禁止。