我正在尝试为现有的 c++ 项目设置一些单元测试。
设置如下:我选择了 Google Mock,其中包括 Google Test。我在 Visual Studio 解决方案中添加了另一个项目(称为测试)。要测试的单元位于另一个名为 Main 的项目中。计划是将我要测试的每个 cpp 文件添加到 Tests 项目中。Tests 项目可以访问 Main 中的所有头文件。
我在 Tests 项目中添加了一个 cpp 文件,它可以编译,但出现链接器错误。大多数是因为从 COleDateTime 派生的一个类,称为 CTimeValue。被测单元具有按值传递 CTimeValue 参数的方法,并且还声明了一些 CTimeValue 属性。
我想单独测试 UUT,并对所有依赖项使用模拟和伪造。我不知道如何使用 CTimeValue 来做到这一点。它用作值,不包含虚拟方法,但仍然相当复杂,值得单独进行单元测试。
CTimeValue 只是项目中许多这样的类之一。如何隔离使用这些用户定义类型的类的测试?
干杯,菲利克斯