如何测试C++类的Private成员和Static函数

这两天在写一个C++类的单元测试,为了确认运行结果,需要访问C++类的Private成员,

为了不修改被测试的C++类的源代码,比较猥琐地使用宏定义将private改成public,

 

#define private public

#include <xxx.hpp>

...

#undef private

 

 测试static函数,就比较麻烦了

首先要Include相应的c文件,有时交叉引用会导致无法编译通过,相当麻烦。