【发布时间】:2017-08-11 06:02:05
【问题描述】:
我已经测试了 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,其实我忘了在课堂上添加定义。我现在已经添加了。
标签: c++ unit-testing googlemock