使用gmock-global模拟全局函数

时间:2018-10-29 10:08:32

标签: googletest googlemock

目前,我正在学习如何使用Google测试和Google模拟框架来创建单元测试。我找到了这个框架-gmock-global,可以用来模拟全局函数。我在github存储库(https://github.com/apriorit/gmock-global)中阅读了README文件。我的问题是,当我尝试使用宏

MOCK_GLOBAL_FUNC2(sum2(int a, int b), int(int, int)) 

编译器给我这个错误:

  

类型的非常量引用的无效初始化   从右值类型'testing :: internal :: MockSpec&'   'testing :: internal :: MockSpec'UniGener001第98行,   外部位置:

您是否有解决此问题的想法?

1 个答案:

答案 0 :(得分:0)

  

我正在写:MOCK_GLOBAL_FUNC2(sum2(int a,int b),int(int,int));

这可能是问题所在。看一下自述文件: 如果int sum2(int a, int b)是您要模拟的函数的签名,那么您应该编写MOCK_GLOBAL_FUNC2(sum2, int(int, int))

宏的第一个参数是(唯一!)函数名称,第二个参数是函数签名。