Могу ли я вызвать одновременно возврат и вызов действия в одном вызове MOCK_EXPECT? Подобно,
MOCK_EXPECT(a.method).calls(functor).returns(value);
Спасибо
Возвращаемое значение функтора — это значение, которое будет возвращено вызывающей стороне. Поэтому давая дополнительное явное возвращаемое значение через .returns
имеет мало смысла.
Однако вы все равно можете указать возвращаемое значение при ожидаемом вызове (в отличие от функтора) с помощью функтора-обертки:
MOCK_EXPECT(a.method).calls([]() -> int {
functor(); /* return value of functor is discarded */
return 42; /* 42 is returned instead */
});
Других решений пока нет …