作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用 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/
我是一名优秀的程序员,十分优秀!