I am new to googlemock (and StackOverflow). I got a problem when using MOCK_METHODn
in googlemock and I believe this function is widely used. Here is what I did.
I have an abstract class Foo
with virtual overloaded operator[]
:
class Foo{
public:
virtual ~Foo(){};
virtual int operator [] (int index) = 0;
}
and I want to use googlemock to get a MockFoo
:
class MockFoo: public Foo{
public:
MOCK_METHOD1(operator[], int(int index)); //The compiler indicates this line is incorrect
}
However, this code gives me a compile error like this:
error: pasting "]" and "_" does not give a valid preprocessing token
MOCK_METHOD1(operator[], GeneInterface&(int index));
My understanding is that compiler misunderstands the operator[]
and doesn't take it as a method name. But what is the correct way to mock the operator[]
by using MOCK_METHODn
? I have read the docs from googlemock but found nothing related to my question. Cound anyone help me with it?
Thanks!