How to EXPECT_CALL a specific version of a method?

问题描述 投票:0回答:1

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

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

如何为他们每个人设置 EXPECT_CALL?

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

googlemock
1个回答
4
投票

使用

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 的“Selecting Between Overloaded Functions”部分下进行了介绍。

© www.soinside.com 2019 - 2024. All rights reserved.