如何EXPECT_CALL一个方法的特定版本?

How to EXPECT_CALL a specific version of a method?

我有一个 class 具有相同命名方法的 2 个不同版本:

MOCK_METHOD0(CmdData, char*());
MOCK_CONST_METHOD0(CmdData, const char*());

如何为每个设置 EXPECT_CALL?

似乎只设置了非常量版本的调用。

使用 Const() 参数包装器:

MockClass foo;
EXPECT_CALL(foo, CmdData());         // Expectation for the non-const version
EXPECT_CALL(Const(foo), CmdData());  // Expectation for the const version

这在 Mocking Cookbook“在重载函数之间进行选择”部分下进行了介绍。