我班的构造函数打开一个文件,并从中读取一些数据。构造函数不接受任何参数。
文件打开部分必须在构造函数内部完成。
用gtest测试这种构造函数中的条件的方法是什么?
快速的答案是:永远不会给出您提供的信息。
但是,如果您打开的文件句柄或任何相关的标志/变量受到了保护,则gtest的一种技术是从您的类继承并使用派生的类访问该数据并进行测试。
附带说明一下,构造函数不应做任何事情:在您的示例中,请设想一下由于任何原因,文件系统不允许您打开文件。这对班级行为有何影响?您无法声明。因此,您可能在类中具有未定义的行为,并且对此没有任何控制权。出于同样的原因,
更糟糕的是抛出异常的建议。在构造函数中使用依赖项注入,或者以可以控制注入策略的方式将您的类设为模板类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句