大佬教程收集整理的这篇文章主要介绍了c – Google Mock析构函数,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <String> class Symbol { public: Symbol (std::string name,unsigned long address) {} virtual ~Symbol() {} virtual std::string getName() const = 0; virtual unsigned long getAddress() const = 0; virtual void setAddress(unsigned long address) = 0; };
我想验证一个实例被删除时调用析构函数.所以我有以下的mockSymbol类:
#include "gmock/gmock.h" #include "symbol.h" class mockSymbol : public Symbol { public: mockSymbol(std::string name,unsigned long address = 0) : Symbol(name,address) {} mock_CONST_METHOD0(getName,std::string()); mock_CONST_METHOD0(getAddress,unsigned long()); mock_METHOD1(setAddress,void(unsigned long address)); mock_METHOD0(Die,void()); virtual ~mockSymbol() { Die(); } };
注意:我在上面省略了包围守卫,但它们在我的头文件中.
#include "gmock/gmock.h" #include "mockSymbol.h" TEST(SymbolTableTests,DestructordeletesAllSymbols) { ::tesTing::FLAGS_gmock_verbose = "info"; mockSymbol *mockSymbol = new mockSymbol("mockSymbol"); EXPECT_CALL(*mockSymbol,Die()); }
当我执行我的测试运行器时,我的其他测试按照我的期望执行并传递.但是,当上述测试执行时,我得到以下错误:
SymbolTableTests.cpp:11:EXPECT_CALL(* mockSymbol,Die())被调用
分段故障(core dumped)
以上是大佬教程为你收集整理的c – Google Mock析构函数全部内容,希望文章能够帮你解决c – Google Mock析构函数所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。