单元测试时有没有办法激活控制台?

问题描述:

非常简单:我想在单元测试时显示控制台。有没有办法直接打开它,还是我必须使用AllocConsole单元测试时有没有办法激活控制台?

在您的测试中,您仍然可以调用Console.WriteLine将输出内容到控制台。这样做的最终结果是,所有内容都将显示在测试结果窗口(MSTest)或例如Resharper单元测试运行器中。

为了通过控制台窗口获得实时输出,您可能需要尝试使用所选测试框架的控制台测试运行器。例如,如果您使用的是NUnit,请尝试使用NUnit控制台测试运行器,看看会发生什么。问题的症结在于,开箱即用,没有Visual Studio的支持来做你想做的事情(我相信这是事实)。

+0

呵呵,所以听起来好像我需要使用'AllocConsole'。有趣。 – sircodesalot

我唯一的猜测是将项目类型从类库更改为可执行应用程序。可能你仍然可以运行测试,因为所有的测试类将仍然存在于程序集中,并且控制台子系统(或其他)将会另外出现。

+0

这不是超级优雅,因为你必须引入一个入口点('Main'),并且你不能从Test-Explorer控制它,但它确实有效。 – sircodesalot