相关疑难解决方法(0)

接口vs C++中依赖注入的模板

为了能够对我的C++代码进行单元测试,我通常会将测试类的构造函数传递给一个或多个对象,这些对象可以是"生产代码"或伪造/模拟对象(让我们调用这些注入对象).我这样做了

  1. 创建"生产代码"类和伪/模拟类继承的接口.
  2. 使测试中的类成为一个模板类,它将注入对象的类型作为模板参数,并将注入对象的实例作为构造函数的参数.

一些随意的想法:

  • 在我们有概念(C++ 0x)之前,只有文档和参数命名会暗示提供被测试类的内容(使用模板时).
  • 并不总是可以为遗留代码创建接口
  • 基本上只创建接口以便能够进行依赖注入
  • 以同样的方式:模拟被测试的类只是为了启用依赖注入

你的想法是什么?这个问题还有其他解决方案吗?

c++ unit-testing mocking

24
推荐指数
2
解决办法
5847
查看次数

模拟非虚方法C++(gmock)

我有课

class CSumWnd : public CBaseWnd
{

 private:
 bool MethodA()
}
Run Code Online (Sandbox Code Playgroud)

请你能帮忙如何模拟MethodA()而不做虚拟,我不明白hi-perf依赖注入的概念

c++ mocking gmock

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

标签 统计

c++ ×2

mocking ×2

gmock ×1

unit-testing ×1