私は最近、C++ のモッキング フレームワークについて多くのことを学んでいますが、これまで解決できなかった 1 つの質問があります。
利用可能なモックフレームワークには2つの異なるタイプがあるようです(少なくともC ++の場合):
- 型宣言: Google Mockのようなモック フレームワークでは、手動でマクロを介してすべてのモック クラスを定義する必要があります。
- タイプ ジェネリック: HippoMockのようなフレームワークは、実行時にモック オブジェクトを作成するテンプレート ベースのメソッドを提供します。
ジェネリック フレームワークははるかに使いやすく、開発者はすべてのモック オブジェクトを自分で作成する必要がないことがわかりました。ただし、利用可能なこれらの宣言型フレームワークは多数あり、特に Google 社員は通常、それらが何をするかを知っています。これらのフレームワークが存在する理由と、ジェネリック フレームワークに対するそれらの主な利点は何かを尋ねます。