小编Bob*_*ver的帖子

谷歌模拟析构函数

我正在努力熟悉Google的模拟框架,这样我就可以更轻松地将一些TDD应用到我的C++开发中.我有以下界面:

#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;
};
Run Code Online (Sandbox Code Playgroud)

我想验证删除实例时是否调用析构函数.所以我有以下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(); }
};
Run Code Online (Sandbox Code Playgroud)

注意:我在上面省略了包含警戒但它们在我的头文件中.

我还没有达到我实际测试任何东西的程度.我有以下内容: …

c++ mocking googletest googlemock

10
推荐指数
1
解决办法
4150
查看次数

标签 统计

c++ ×1

googlemock ×1

googletest ×1

mocking ×1