Mock一个模板类,很简单: 需要在MOCK_*宏后加上_T:
步骤:
1。先创建一个template 类:template <typename Elem>,头文件引入:#include "gmock/gmock.h"
2。然后在Mock类里面:先引入 模板:template <typename Elem>,然后创建一个mock类父类是模板类。
3。接着写Mock方法 : MOCK_CONST_METHOD0_T,MOCK_METHOD1_T, 可以看出后面都带着 "_T"
#include "gmock/gmock.h"
template <typename Elem>
class StackInterface {
public:
// Must be virtual as we'll inherit from StackInterface.
virtual ~StackInterface();
virtual int GetSize() const = 0;
virtual void Push(const Elem& x) = 0;
};
template <typename Elem>
class MockStack : public StackInterface<Elem> {
public:
MOCK_CONST_METHOD0_T(GetSize, int());
MOCK_METHOD1_T(Push, void(const Elem& x));
};