在单元测试时,我已经看到许多疯狂的方法来访问私有变量.我见过的最令人兴奋的是#define private public.
但是,我从未见过有人建议在编译器级别关闭私有变量.我一直以为你不能.我向许多开发人员抱怨过,如果你能告诉编译器退出这个文件,那么单元测试会容易得多.
然后我偶然发现-fno-access-control gcc编译器选项.这显然是单元测试的完美方式.您的原始源文件未经修改,没有为单元测试注入的朋友,没有使用奇怪的预处理器魔法重新编译.在编译单元测试时,只需轻按"无访问控制"开关即可.
我错过了什么吗?这是测试银弹的单位我希望是吗?
我看到的唯一缺点是该技术的gcc特定性质.但是,我假设MSVS有一个类似的标志.