gpt4 book ai didi

c++ - 使用 GMock 验证析构函数调用

转载 作者:可可西里 更新时间:2023-11-01 15:40:28 25 4
gpt4 key购买 nike

使用 GMock,我如何验证类的析构函数是否被调用?除了wrap it in another class,还有其他办法吗? ?

明显的方法 EXPECT_CALL(object, ~classtype()) 会产生编译器错误(gmock 无法生成名为 gmock_~classtype 的模拟方法)。

最佳答案

检查析构函数调用的简单方法:

class MockFoo : public Foo {
...
// Add the following two lines to the mock class.
MOCK_METHOD0(Die, void());
virtual ~MockFoo() { Die(); }
};

在你的测试函数中:

 MockFoo* foo = new MockFoo;
...
{
EXPECT_CALL(*foo, Die());
}

可以在这里找到更多详细信息: Mocking Destructors

关于c++ - 使用 GMock 验证析构函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734633/

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