2

我最近学习了很多关于 C++ 的 Mocking Frameworks 的知识,但有一个问题到目前为止我无法解决:

似乎有 2 种不同类型的模拟框架可用(至少对于 C++):

  • 类型声明:像Google Mock这样的模拟框架需要通过 makros 手动定义每个模拟类
  • Type Generic:HippoMock这样的框架提供了一个基于模板的方法,该方法在运行时创建一个模拟对象

我看到通用框架更容易使用,开发人员不需要自己编写每个模拟对象。然而,有许多这样的声明式框架可用,尤其是谷歌人通常知道他们在做什么。我问为什么存在这些框架,以及它们相对于通用框架的主要优势是什么。

4

1 回答 1

3

我相信模拟类的“声明性”框架在以下几点上是有意义的,例如gmock的代祷是:

  • 不依赖任何操作系统(我一直在使用 FreeRTOS 实现工作版本)
  • 模拟方法处理程序的细粒度控制
  • 对预期方法调用结果的细粒度控制
于 2013-04-28T17:51:48.437 回答