如何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“在重载函数之间进行选择”部分下进行了介绍。
我有一个 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“在重载函数之间进行选择”部分下进行了介绍。