2013-04-28 68 views
2

我最近学习了很多关于惩戒框架C++,但有一个问题,我解决不了至今:C++模拟框架:“通用” VS“声明”

似乎有是2不同类型的嘲笑可用的(至少对于C++)框架的:

  • 类型声明:Google Mock模拟框架需要用手经由makros被定义
  • 类型通用每模拟类:框架像HippoMock提供了一个基于模板的方法,它可以在运行时创建一个模拟对象

我看到通用框架更容易使用,开发人员不需要自己编写每个模拟对象。然而,有许多这些声明式框架可供使用,特别是Google员工通常知道他们在做什么。我问为什么这些框架存在,他们的主要优点是什么比通用框架。

+0

我从来没有使用Hi ppoMock或类似的,但我喜欢我可以为GoogleMock设计模拟类的方式,这正是我需要表现它们的方式。如果我只需要简单的模拟类,声明它们的必要开销对于增益恕我直言并不难。 – 2013-04-28 11:47:28

+0

另一点:例如HippoMock正确处理模板类? – 2013-04-28 17:39:21

+0

可能是'声明'将是一个更好的术语,而不是'重写','通用'是好的反正... – 2013-04-30 01:41:49

回答

3

相信对于模拟类“声明”框架做出关于以下几点意义上说,什么是intercessional为gmock的例子是:

  • 任何OS无依赖(我一直在执行一个工作版本FreeRTOS操作系统)
  • 细粒度控制模拟方法处理
  • 超过预期的方法调用
  • 细粒度的控制效果