2

私は最近、C++ のモッキング フレームワークについて多くのことを学んでいますが、これまで解決できなかった 1 つの質問があります。

利用可能なモックフレームワークには2つの異なるタイプがあるようです(少なくともC ++の場合):

  • 型宣言: Google Mockのようなモック フレームワークでは、手動でマクロを介してすべてのモック クラスを定義する必要があります。
  • タイプ ジェネリック: HippoMockのようなフレームワークは、実行時にモック オブジェクトを作成するテンプレート ベースのメソッドを提供します。

ジェネリック フレームワークははるかに使いやすく、開発者はすべてのモック オブジェクトを自分で作成する必要がないことがわかりました。ただし、利用可能なこれらの宣言型フレームワークは多数あり、特に Google 社員は通常、それらが何をするかを知っています。これらのフレームワークが存在する理由と、ジェネリック フレームワークに対するそれらの主な利点は何かを尋ねます。

4

1 に答える 1

3

モッククラスの「宣言型」フレームワークは、次の点に関して理にかなっていると思います。たとえば、 gmockのとりなしは次のとおりです。

  • どの OS にも依存関係はありません (私は FreeRTOS で動作するバージョンを実装しています)
  • モック メソッド ハンドラのきめ細かな制御
  • 予想されるメソッド呼び出しの結果をきめ細かく制御
于 2013-04-28T17:51:48.437 に答える