我在一个非常旧的C 项目上工作,该项目具有我需要模拟的巨大DB。我正在尝试模拟ifstream库以测试文件的控件,问题是我无法更改我的遗产代码,因此我很难在不更改任何代码的任何部分的情况下找到模拟的痛苦预先感谢
模拟使用多态性(实现给定接口),因此有两种选择:
-
库提供选项时,请使用动态多态性。对于ifstream,情况并非如此。
-
使用静态多态性(模板),这意味着传统库提供了使用其他内容的选项。
我认为您的旧应用程序不提供任何这些选项,因此您现在必须在没有模拟的情况下进行测试。