2009-11-01 76 views
2

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

编辑 - 兴趣在VS一个明确的答案开箱(即不必买一个插件)

回答

0

使用TDD插上像ReSharper的orTestDriven.net

+0

我会看看谢谢 - 是它仍然会使用MS单元测试框架的想法? – Greg 2009-11-02 03:10:06

+0

是的,TestDriven支持MSTest开箱即用,并且ReSharper也可能..如果没有插件的话。 – ryber 2009-11-02 13:52:54

+0

顺便说一句,知道如果我的问题海军在VS内解决,而无需购买插件 – Greg 2009-11-02 20:45:41

1

您可以使用

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

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

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

我用下面给我运行时的信息和试验结果输出的末尾:

private void TestTrace(string message) 
{ 
    System.Diagnostics.Debug.WriteLine(message); 
    Console.Out.WriteLine(message); 
} 
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消息被抑制。

相关问题