我正在开发一个程序 C/C++ 项目。公共接口由 4 个函数组成,每个函数都有相当复杂的任务。在同一个cpp
文件中,在一个未命名的命名空间中声明了一些辅助函数。正在使用的测试框架是 GTest。
然而,其中一些辅助函数变得复杂到需要它们自己的单元测试。通常,我会将这些助手重构为它们自己的可测试单元,但项目要求声明所有内容都需要在一个cpp
中,并且只有指定的功能可以公开可见。
有没有一种方法可以对辅助函数进行单元测试,同时最大限度地减少耦合,并尽可能地遵循项目要求?
我有一个可能的解决方案是使用宏将命名空间转换为命名命名空间用于测试,而未命名用于生产。但是,这似乎比我想要的要混乱一些。