【发布时间】:2016-03-03 14:33:54
【问题描述】:
我想知道如何测试对私有函数的访问。示例:
class Random{
public:
...
private:
Serial();
OR
random_function();
在这种情况下,不可能实例化 random 类的对象,因为 Serial 是私有的。
如果只有函数random_function() 并且我们有一个Serial 的对象,我们就不能像object.random_function() 这样访问函数。
但是,如果您考虑一个小组正在从事一个项目的情况,并且有一些方法显然应该是private...
在编写测试用例(在 C++ 中)时如何考虑这一点?
编辑: 我正在寻找的是一个测试场景,我可以在其中测试访问: 如果函数更改为具有公共访问权限,则测试失败。
【问题讨论】:
-
我不了解你,但如果我尝试使用私有函数,我会收到编译器错误。你不会遇到这种情况吗?
-
@BoBTFish OP:“不,我不想知道如何测试私有函数。” ——所以不,我认为这不是他们想要的。我认为他们想测试访问是否是私有的(例如,如果函数更改为具有
public访问权限,则希望测试失败)。 -
您能否编辑您的问题以澄清一下?你让我们所有人都在猜测你想做什么
-
为什么不能实例化该类的对象?
Serial()应该是构造函数(必须与类同名)还是我遗漏了什么? -
也许如果我们有一个可以编译的代码 sn-p 我们可以提供帮助?
标签: c++ unit-testing testing