【发布时间】:2018-07-24 05:43:54
【问题描述】:
我知道 Visual Studio 中的记录器,即:
Logger::WriteMessage("foo");
这对于测试代码非常有用,但对于应用程序内部的代码不太实用。所以,我正在寻找一个标准的解决方案来重定向代码中的标准输出消息。
【问题讨论】:
-
你所说的“屏幕”是什么意思?我的意思是标准输出消息通常出现在控制台窗口中,这与屏幕有什么不同?
-
我正在查看 Visual Studio 中的“输出”+“测试”窗口。
-
您可以使用 Windows 的OutputDebugString function 将输出发送到调试器(如果有)。要重定向
std::cout,您可以替换其输出缓冲区。 -
但是我仍然需要通过调用“OutputDebugStringW”来替换所有“cout”......对吗?
-
@KlingonJoe:不,你替换
cout中的streambuf,一次。
标签: c++ visual-studio unit-testing mstest