2013-04-28 72 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操作系統)
  • 細粒度控制模擬方法處理
  • 超過預期的方法調用
  • 細粒度的控制效果