我的班级构造函数打开一个文件并从中读取一些数据。构造函数不带任何参数。
文件打开部分必须在构造函数内完成。
使用gtest测试这样的构造函数中的条件的方法是什么?
答案 0 :(得分:-1)
快速回答是:现在有了您提供的信息。
但是,如果您打开的文件句柄或任何相关的标志/变量受到保护,则gtest的一种技术是从您的类继承并使用派生类来访问该数据,并对其进行测试。
作为旁注,构造函数不应该执行任何操作:在您的示例中,假设由于任何原因文件系统不允许您打开文件。这对班级行为有何影响?你不能陈述。因此,您的班级可能有未定义的行为,并且您对此没有任何控制权 更糟糕的是抛出异常建议,出于同样的原因。在构造函数中使用依赖注入,或者使您的类成为模板类,以便您可以控制注入的策略。