プロジェクトで gmock を使用していますが、モック関数のカスタム参照変数を設定する際に問題が発生しました。次のようなクラスがあるとします。
class XXXClient {
public:
void QueryXXX(const Request&, Response&);
};
class XXXRunner {
public:
void DoSomething(XXXClient&);
};
XXXClient::QueryXXX を使用するクライアント クラス XXXRunner::DoSomething があり、XXXClient::DoSomething をテストするために XXXClient をモックしたいと考えています。
QueryXXX の 2 番目のパラメータ、つまり「Response」が戻り値ではなく、XXXClient::QueryXXX の Response にデータを入力する参照変数であるという問題が発生します。Response にカスタム データを設定して、XXXRunner::DoSomething のさまざまな条件を検証したいと考えています。
gmock フレームワークは期待される戻り値を設定できますが、「戻り変数」を設定する方法が見つかりませんか?
では、どうすればよいのでしょうか?