使用Google Test显然是内部的CaptureStdOut是否安全?

时间:2016-03-01 02:42:14

标签: googletest

我在网上看到了以下(有用)代码,用于捕获标准输出以便在Google Test中进行检查:

testing::internal::CaptureStdout();
DoSomethingThatOutputsToStdout();
std::string result = testing::internal::GetCapturedStdout();
ASSERT_EQ(expectedString, result);

现在我唯一担心的是这个函数是internal命名空间的一部分。 gtest_internal.h头文件明确声明:

  

此头文件声明Google Test内部使用的函数和宏。它们如有更改,恕不另行通知。

但是,CaptueStdout的定义实际上并不是 该头文件,而是驻留在gtest-port.cc,这是一个没有类似警告的文件。但 包含在内部命名空间中。

因此,我的问题是,尽管它似乎在内部命名空间中,但是否使用该功能是否可以。我不想把自己束缚在作者可能决定随意改变的事情上。

或者我对internal名称空间的意图缺乏理解?

0 个答案:

没有答案