0
我已經測試了Google Mock的virtual
函數,但無法爲non-virtual
執行此操作。我不明白「hi-perf依賴注入」的概念。谷歌模擬非虛擬函數的類
以下是具有一個non-virtual
函數的類。我想用Google Mock來測試這個功能。爲了簡單起見,我刪除了核心部分,並保留了單一的return
聲明。
下面是例子:
// gtest and gmock files are added
class DetectorGPIO
{
DetectorGPIO(void);
virtual ~DetectorGPIO() {}
StartPulseHigh();
};
BOOL DetectorGPIO::StartPulseHigh()
{
return 1;
}
class MockDetectorGPIO : public DetectorGPIO
{
public:
MOCK_METHOD0(StartPulseHigh,BOOL(void));
};
我缺少任何概念?
我是Google Mock的新手。任何幫助將不勝感激。
據我所知,它只是模擬虛擬多態對象,它總是限制了它的實用性。 –
問題到底是什麼?你有編譯問題嗎?如果是這樣,編譯器輸出是什麼?我對Google Mock自己並不熟悉,但是看看你的源代碼:你正在使用''StartPulseHigh''',但它似乎沒有在你的'''DetectorGPIO'類中定義。 – Freakyy
@Freakyy,其實我忘了在課堂上添加定義。我現在添加了。 –