我的问题与Mockito: Mock private field initialization相同,但适用于Google Mock框架。简而言之:
class Target {
private:
Person person = new Person();
public:
void testMethod() {
person.someMethod();
}
};
如何在为person
课程进行单元测试时模拟Target
实例?
答案 0 :(得分:3)
这里没有回答:根本不这样做。
您的问题是此处拨打new
。事情是:这会使测试变得困难,并且它还会在Target
和Person
类之间产生非常紧密的耦合。
默认替代方案是:为Target
类提供 factory ,为您创建Person
个对象。
通过寻找解决方案,你
new
除非我误读documentation,否则无论如何都无法使用C ++模拟来调用new
。