I want to mock a method that returns a complex datatyp
class aClass
{
public:
virtual const QMap<QString, QString> aMethod() const;
}
class MockaClass : public aClass
{
public:
MOCK_CONST_METHOD0(aMethod, const QMap<QString, QString>());
}
This code does not compile: "macro "MOCK_CONST_METHOD0" passed 3 arguments, but takes just 2"
I think that the googlemock macro does not understand QMap and interpret the comma as parameter separator.
Is there a way to tell googlemock that QMap is the return value?
Just use a typedef
like this:
class aClass
{
public:
typedef const QMap<QString, QString> MyType;
virtual MyType aMethod() const;
}
class MockaClass : public aClass
{
public:
MOCK_CONST_METHOD0(aMethod, MyType());
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With