微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google Mock:在目标类的构造函数中使用不同类型的变量初始化的模拟私有成员

如何解决Google Mock:在目标类的构造函数中使用不同类型的变量初始化的模拟私有成员

我正在测试现有的生产类,因此我无法更改单元测试的源代码我有一个用例来模拟使用不同类型的参数初始化的目标类构造函数的成员。下面和我的班级解释一下:

目标类:

TargetClass::TargetClass(Parameter b,Parameter b,std::shared_ptr<CustomManagerClass> customManagerClass) :
        a_(a),b_(b),registry_(std::make_shared<Registry>(customManagerClass)) {}

注册表类(在上面的目标类构造函数中使用):

Registry::Registry(
        std::shared_ptr<CustomManagerClass> customManagerClass) :
        customManagerClass_(customManagerClass) {
    factory_ = Factory::standardFactory(customManagerClass_);
}

registry_ 是 TargetClass 的私有成员,它在目标类的不同地方被用来调用各种方法

我想在我的模拟测试类中创建一个模拟 registry_ 并返回适当的响应。

我在 Google 上找不到合适的解决方案。任何建议表示赞赏,提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。