我有一个类可以做很多事情。为了将工作拆分为逻辑单元,我在匿名命名空间中创建了一些自由函数,因为它们仅在此类中使用。
我目前正在使用 gtest 对我的类(class)进行单元测试。如何为匿名命名空间自由函数实现单元测试?
最佳答案
首先,您不应该在 header 的匿名命名空间中包含函数。
这意味着,您想在源文件的匿名命名空间中对您的函数进行单元测试。
最简单的答案是:你不能也不要这些函数,因为它们只对定义它们的源文件(翻译单元)可用。
但是,您可以调用方法和函数,调用这些函数并测试它们的输出。
另一种选择是将它们移出匿名命名空间,并在 header 中声明。然后你可以使用某种独特的命名空间。例如:
// header
int someFunc();
namespace hidden {
float myFunc1(int);
}
关于c++ - 如何在匿名命名空间中使用带有免费功能的谷歌测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609672/