【发布时间】:2016-10-11 15:58:06
【问题描述】:
我正在尝试模拟一个抽象类,但我不断从 GMock 标头内部收到编译错误。我不能分享实际的代码,但几乎和下面的一样。模拟工作正常,但我不得不更改“DoStuff”函数以获取对象但引用。从那时起它就无法编译。错误类似于 * GMock 无法将“元素”与 long long * 进行比较。
"C++ code"
using ::testing::NiceMock;
class Element{};
class Foo
{
public:
virtual void DoStuff(Element&) = 0;
};
class MockFoo : public Foo
{
public:
MockFoo() {};
MOCK_METHOD1(DoStuff, void(Element&));
};
TEST(example, test)
{
NiceMock<MockFoo> mf;
Element element{};
EXPECT_CALL(mf, DoStuff(element)).Times(1);
mf.DoStuff(element);
}
【问题讨论】:
标签: c++ reference virtual googlemock gmock