小编Jar*_*ber的帖子

如何在传递给模拟方法的对象上调用方法

我对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.希望我清楚自己.

这可能吗?

c++ unit-testing googletest googlemock

5
推荐指数
1
解决办法
1024
查看次数

标签 统计

c++ ×1

googlemock ×1

googletest ×1

unit-testing ×1