gpt4 book ai didi

c++ - HippoMocks 坚持要销毁 mock

转载 作者:太空狗 更新时间:2023-10-29 21:04:13 24 4
gpt4 key购买 nike

IEmployeeServiceProxy* empSvcMock = m_Mocks.InterfaceMock<IEmployeeServiceProxy>();
m_EmpSvcMock.reset(empSvcMock); // shared_ptr because my class Client ctor expects a shared_ptr<IEmployeeServiceProxy>

Client client(m_EmpSvcMock);

如何防止m_EmpSvcMock被HippoMock内部销毁?将模拟传递给 shared_ptr 时,两者都会破坏模拟。

编辑 - 答案:

m_Mocks.ExpectCallDestructor(m_EmpSvcMock.get());
m_EmpSvcMock.reset();

最佳答案

在 Git 版本(来自 Assembla)中,您可以告诉它注册一个要调用的析构函数。额外的好处是,它会警告您之后使用 ZombieMockException 调用它的函数,所以如果您确实在某处泄漏了一个指针并且它被使用了,您就会知道一个可读错误。

关于c++ - HippoMocks 坚持要销毁 mock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11772911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com