EXPECT_CALL(mockA, foo()).WillOnce(InvokeWithoutArgs(&impl, &ImplC::bla));
Должно работать.Если вам нужно передать более сложные параметры, используйте boost :: bind (обратите внимание на другой порядок экземпляра класса и метода в списке параметров):
EXPECT_CALL(mockA, foo())
.WillOnce(Invoke(boost::bind(&ImplC::bla, &impl, other_params)));
И если foo()
заданы некоторые параметры, которыедолжно быть передано в bla()
, используйте WithArgs
:
EXPECT_CALL(mockA, foo(Lt(1), _))
.WillOnce(WithArgs<0>(Invoke(&impl, &ImplC::bla)));
Также взгляните на вики-страницу Google Mock Cheat Sheet - она предоставляет больше информации о функции и методевызывающие действия.