1
我剛開始使用gtest和gmock進行測試,然後停止了一個問題。問題是這樣的,可以gmock模擬重載的方法嗎?
首先,我有這樣的一類,
class Foo
{
public:
std::vector<int>& GetVec() { return m_MyVec; }
const std::vector<int>& GetVec() const { return m_MyVec; }
private:
std::vector<int> m_MyVec;
};
那麼我想設置上重載函數模擬,
class MockFoo : public Foo
{
public:
MockFoo() {};
protected:
MOCK_METHOD0(GetVec, std::vector<int>&()); // This is fine
MOCK_METHOD0(GetVec, const std::vector<int>&() const); // This not good
}
從Visual Studio中的錯誤信息2013年是這樣的: 不完整的類型是不允許的。
任何機構都可以告訴我是否可以模擬重載的方法,如果答案是YES,那麼該怎麼辦?非常感謝提前。
酷,它的作品! – dguan