如何在单元测试运行时查看控制台输出?我正在使用Visual Studio 2008单元测试框架。所以我知道测试完成后我可以进入测试的结果页面并单击输出,但是我正在采用一种方法,可以在执行单元测试时有效地观察测试的控制台输出。
编辑 - 对开箱即用的VS的特定答案感兴趣(即无需购买插件)
答案 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
消息被禁止。