3 - Google Mock 进阶篇 - 如何Mock一个模板类 Template

mac2024-03-13  25

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)); };

 

最新回复(0)