我最近学习了很多有关 C++ 的模拟框架的知识,但有一个问题到目前为止我无法解决:
似乎有 2 种不同类型的模拟框架可用(至少对于 C++):
- 类型声明式:模拟框架,如 Google Mock需要通过 makros 手动定义每个模拟类
- 类型通用:类似 HippoMock 的框架提供基于模板的方法,在运行时创建模拟对象
我发现通用框架更容易使用,开发人员不需要自己编写每个模拟对象。然而,有许多可用的声明式框架,尤其是 Google 员工通常知道它们的用途。我问为什么存在这些框架以及它们相对于通用框架的主要优点是什么。
最佳答案
我相信模拟类的“声明式”框架在以下几点方面是有意义的,gmock 的代祷事项是什么?例如:
- 不依赖任何操作系统(我一直在使用 FreeRTOS 实现工作版本)
- 对模拟方法处理程序进行细粒度控制
- 对预期方法调用结果进行细粒度控制
关于C++ 模拟框架 : 'Generic' vs 'Declarative' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262186/