我对gmock的工作方式很新.
我有一个带有addEvent方法的mock,它通过指针获取MyClass类型的对象.我需要在这个对象上调用MyClass :: makeCall.
class SchedulerMock
{
public:
MOCK_CONST_METHOD1(addEvent, void(MyClass*));
};
Run Code Online (Sandbox Code Playgroud)
我找到了这个主题: 在传递给模拟函数的参数上调用成员函数的最简单方法是什么?
还有一个例子:
IFooable* ifooable = new IFooableImpl(...);
TMockFoo MockFoo;
ON_CALL(MockFoo, Foo(_))
.WithArg<0>(Invoke(&ifooable,&IFooable::Fooable));
Run Code Online (Sandbox Code Playgroud)
但我不想在我在test中创建的对象上调用方法.我想mock在实际传递给mock的对象上调用makeCall.所以我可以将我的模拟注入另一个将创建一些新对象的类,并在我的schedulerMock上调用addEvent,我希望每次有人在我的mock上调用addEvent时,这个mock都会在传递的参数上调用makeCall.希望我清楚自己.
这可能吗?