如何用const/non模拟重载函数



如何模拟以下代码?

class ISomeClass
{
public:
   virtual ~ISomeClass() {} = 0;
   virtual const MyType & getType() const = 0;
   virtual MyType & getType() = 0;
};

我试过以下几种,但都不起作用。你能帮帮我吗?

class MockSomeClass : public ISomeClass
{
public:
    using MyTypeConstRefType = const MyType&;
    using MyTypeRefType = MyType&;
public:
    MOCK_METHOD0(getType, MyTypeConstRefType(void) const);
    MOCK_METHOD0(getType, MyTypeRefType(void));
};

它们为const成员函数("方法")提供了一组单独的宏:MOCK_CONST_METHOD#。因此,在您的情况下,它将是:

MOCK_CONST_METHOD0(getType, MyTypeConstRefType());

在其他方面,用法与MOCK_METHOD#相同,在第一个参数中采用函数名称,在第二个参数中使用函数类型。

最新更新