测试优先可能要要求暴露实现细节
测试如果测试public函数,有可能无法测试某些情况,就得了解实现细节才能做。
如果通过友元,则可以测试非public函数,但代码中出现友元,而且友元仅仅是为了测试总是不爽的一件事情。
测试非public有好办法,继承一个类下来,将protected全变成public,再测试这个继承类。缺点是无法将private变成public。
测试如果测试public函数,有可能无法测试某些情况,就得了解实现细节才能做。
如果通过友元,则可以测试非public函数,但代码中出现友元,而且友元仅仅是为了测试总是不爽的一件事情。
测试非public有好办法,继承一个类下来,将protected全变成public,再测试这个继承类。缺点是无法将private变成public。