Я использую gmock в своем проекте, и я встречаю проблему, чтобы установить настраиваемую ссылочную переменную для функции mock. Предположим, что у меня есть класс следующим образом:
class XXXClient {
public:
void QueryXXX(const Request&, Response&);
};
class XXXRunner {
public:
void DoSomething(XXXClient&);
};
Существует класс клиента XXXRunner:: DoSomething с использованием XXXClient:: QueryXXX, и я хочу высмеять XXXClient для проверки XXXRunner:: DoSomething.
Проблема заключается в том, что второй параметр QueryXXX, то есть "Response", не является возвращаемым значением, а ссылочной переменной, которую я заполняю некоторыми данными в Response в XXXClient:: QueryXXX. Я хочу установить пользовательские данные для ответа, чтобы проверить другое условие XXXRunner:: DoSomething.
Структура gmock может устанавливать ожидаемое возвращаемое значение, но я не могу найти способ установить "возвращенную переменную"?
Итак, как это сделать?