假设我们有这样一个类:白盒测试 - 朋友还是预处理器?
class Testee
{
public:
void Func()
private:
void auxFunc()
};
,我们希望做就可以了白盒单元测试。 你认为哪种方法更好?要将测试者类声明为被测试者类的朋友?或使用这样的预处理:
class Testee
{
public:
void Func()
#ifndef UNITTEST_SYMBOL
private:
#elif
public:
#endif
void auxFunc()
};
后来在测试文件
#define UNITTEST_SYMBOL
#include "Testee.h"
#undef UNITTEST_SYMBOL
所以,再一次,你认为这是一个更好的办法?或者,也许你可以提出另一种方法。
或者使auxFunc一个单独上课之前我所有的其他的头文件,包括该类型的测试对象中 – 2010-10-08 12:15:37
@jk私有对象:,并在auxFunc类公共所有的功能? – 2010-10-08 12:16:36
如果你想测试它们,是的。可以说你不应该测试私有方法,如果你是因为复杂性,它可能是你需要拆分类http://stackoverflow.com/questions/105007/do-you-test-private-method – 2010-10-08 12:25:36