我的单元测试正在运行时如何查看控制台输出?我正在使用Visual Studio 2008单元测试框架。所以我知道在测试完成后,我可以进入测试的结果页面并单击输出,但是我可以在执行单元测试时有效地观察控制台输出以进行测试。我的单元测试在Visual Studio 2008中运行时,如何查看控制台输出?
编辑 - 兴趣在VS一个明确的答案开箱(即不必买一个插件)
我的单元测试正在运行时如何查看控制台输出?我正在使用Visual Studio 2008单元测试框架。所以我知道在测试完成后,我可以进入测试的结果页面并单击输出,但是我可以在执行单元测试时有效地观察控制台输出以进行测试。我的单元测试在Visual Studio 2008中运行时,如何查看控制台输出?
编辑 - 兴趣在VS一个明确的答案开箱(即不必买一个插件)
使用TDD插上像ReSharper的orTestDriven.net
您可以使用
System.Diagnostics.Debug.WriteLine("Message");
在单元测试运行时输出到“输出”选项卡。
如果您使用的是Console.Out.WriteLine(“Message”),则只会在测试运行结束时显示,如您所述。
我用下面给我运行时的信息和试验结果输出的末尾:
private void TestTrace(string message)
{
System.Diagnostics.Debug.WriteLine(message);
Console.Out.WriteLine(message);
}
上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
消息被抑制。
我会看看谢谢 - 是它仍然会使用MS单元测试框架的想法? – Greg 2009-11-02 03:10:06
是的,TestDriven支持MSTest开箱即用,并且ReSharper也可能..如果没有插件的话。 – ryber 2009-11-02 13:52:54
顺便说一句,知道如果我的问题海军在VS内解决,而无需购买插件 – Greg 2009-11-02 20:45:41