C++ googlemock:在目标类';中实例化的Mock私有变量成员;s构造函数
我的问题与谷歌模拟框架的问题相同。简言之:C++ googlemock:在目标类';中实例化的Mock私有变量成员;s构造函数,c++,unit-testing,tdd,googletest,googlemock,C++,Unit Testing,Tdd,Googletest,Googlemock,我的问题与谷歌模拟框架的问题相同。简言之: class Target { private: Person person = new Person(); public: void testMethod() { person.someMethod(); } }; 在为Target类进行单元测试时,如何模拟person实例?这里没有答案:不要这样做 您的问题是在此处调用new。事情是这样的:这使得测试变得困难,而且它也在目标和人员类之间创建了一个非常紧密的耦
class Target {
private:
Person person = new Person();
public:
void testMethod() {
person.someMethod();
}
};
在为
Target
类进行单元测试时,如何模拟person
实例?这里没有答案:不要这样做
您的问题是在此处调用new
。事情是这样的:这使得测试变得困难,而且它也在目标
和人员
类之间创建了一个非常紧密的耦合
默认的备选方案是:为为为您创建Person
对象的Target
类提供工厂
通过采用该解决方案,您可以
- 避免模拟调用
new
- 你最终会得到一个更好的设计李>
除非我误解了,嘲笑C++的代码<新>代码不可能用C++嘲讽。< / P>是的,我明白你要说什么。但是我正在为一个生产中的项目添加单元测试,最终我使用了很多预处理器指令来解决这类问题:(你能给我一些建议吗