相关疑难解决方法(0)

使用谷歌模拟C代码

我正在维护一个用C语言编写的遗留项目,并且使用C++编译器运行它是不可行的.由于代码是交叉编译的,因此可以在主机环境中运行单元测试或类似操作.因此,它也可以与C++主机编译器连接,并使用google-test和google-mock.

谷歌模拟的某些功能似乎非常诱人,可用于测试,如调用实际实现和设置调用期望.

我希望能够在C代码中使用它们.我可以看到,确实可以在不使用vtable的情况下使用google-mock,但它需要模板.

有没有办法用google mock模拟裸C函数?

c c++ gcc unit-testing

17
推荐指数
1
解决办法
1万
查看次数

如何在gmock中设置自定义ref-variable

我在我的项目中使用gmock,我遇到了为mock函数设置自定义引用变量的问题.假设我有一个如下课程:

class XXXClient {
public:
    void QueryXXX(const Request&, Response&);
}; 

class XXXRunner {
public:
    void DoSomething(XXXClient&);
};
Run Code Online (Sandbox Code Playgroud)

使用XXXClient :: QueryXXX有一个Client Class XXXRunner :: DoSomething,我想模拟XXXClient来测试XXXRunner :: DoSomething.

问题是QueryXXX的第二个参数,即'Response',不是返回值,而是一个引用变量,我将一些数据填入XXXClient :: QueryXXX中的Response中.我想为Response设置自定义数据以验证XXXRunner :: DoSomething的不同条件.

gmock框架可以设置预期的返回值,但我找不到设置"返回变量"的方法?

那怎么办?

gmock

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

c++ ×1

gcc ×1

gmock ×1

unit-testing ×1