我什至尚未开始测试,即使我正确地遵循了GMock的文档,我也遇到了GMock的MOCK_METHOD宏的一些语法问题。可能是编译器问题吗?我有:
MingGW(GCC 4.9.2)
Googletest 1.10.x
class SimpleClass {
public:
virtual int simpleFirstFunction(int a, int b) { return (a + simpleSecondFunction(b)); }
virtual int simpleSecondFunction(int b) { return (2 * b); }
virtual ~SimpleClass();
};
class MockSimpleClass :public SimpleClass {
MOCK_METHOD(int, simpleSecondFunction, (int a, int b), (override));
};
我看到3个编译器错误:
错误-1:关于函数名称
MockSimpleClass.cpp:18:24:错误:
'simpleSecondFunction'不是类型MOCK_METHOD(int,simpleSecondFunction(int a,int b),(override));
错误-2:关于输入参数
MockSimpleClass.cpp:18:46:错误:
['标记前的预期标识符MOCK_METHOD(int,simpleSecondFunction,(int a,int b),(override));
错误-3:关于“替代”周围的括号]
MockSimpleClass.cpp:18:60:错误:
['标记前的预期标识符MOCK_METHOD(int,simpleSecondFunction(int a,int b),(override));
我什至尚未开始测试,即使我正确地遵循了GMock的文档,我也遇到了GMock的MOCK_METHOD宏的一些语法问题。可能是编译器问题吗?我有:...
听起来好像MOCK_METHOD宏未定义。您是否正确设置了包含路径,并在文件顶部添加了#include "gmock/gmock.h"
指令?您还缺少public
访问说明符,该函数的参数数目错误。