目前,我正在学习如何使用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行, 外部位置:
您是否有解决此问题的想法?
答案 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))
宏的第一个参数是(唯一!)函数名称,第二个参数是函数签名。