Hippomock静态函数带重载,如何使用ExpectCallFuncOverload?

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

有以下课程:

class Math {
public:
    static int Add(int a, int b) {
        return a + b;
    }

    static int Add(int a, int b, int c) {
        return a + b + c;
    }
};

如何使用ExpectCallFuncOverload?

我尝试

#include <hippomock.h>

int main() {
    HippoMock::MockRepository mocks;
    mocks.ExpectCallFuncOverload(Math::Add).Return(5);

    Math::Add(2, 3);
    return 0;
}

gcc 告诉“重载的 'RegisterExpect_...' 调用不明确”

如何告诉 Hippomock 我们要使用哪个重载? 我在文档中没有找到任何内容

谢谢,

c++ mocking overloading hippomocks
1个回答
0
投票

我找到了!

使用强制转换来确定要使用的函数

mocks.ExpectCallFuncOverload((int (*)(int, int))Math::Add).Return(5);
© www.soinside.com 2019 - 2024. All rights reserved.