And*_*ack 11 c++ unit-testing mocking googlemock
使用GMock,我如何验证是否调用了类的析构函数?有没有办法,除了把它包装在另一个班级?
明显的方法,EXPECT_CALL(object, ~classtype())产生编译器错误(gmock不能产生一个调用的mock方法gmock_~classtype).
nab*_*lke 18
检查析构函数调用的简单方法:
class MockFoo : public Foo {
...
// Add the following two lines to the mock class.
MOCK_METHOD0(Die, void());
virtual ~MockFoo() { Die(); }
};
Run Code Online (Sandbox Code Playgroud)
在你的测试功能中:
MockFoo* foo = new MockFoo;
...
{
EXPECT_CALL(*foo, Die());
}
Run Code Online (Sandbox Code Playgroud)
更多细节可以在这里找到: 嘲弄破坏者