Gra*_*eme 9 c++ testing mocking gmock
是否可以使用gmock来模拟一个包含类模板参数的函数?例如:
template <typename T>
struct Mockable
{
virtual void do_work(const int num, const T& value) = 0;
};
template <typename T>
struct MockMockable : Mockable<T>
{
MOCK_METHOD2(do_work, void(const int, const T&));
};
Run Code Online (Sandbox Code Playgroud)
Gra*_*eme 18
我找到了答案,你需要将模拟方法特别表示为模板模拟方法 _T
template <typename T>
struct MockMockable : Mockable<T>
{
MOCK_METHOD2_T(do_work, void(const int, const T&));
};
Run Code Online (Sandbox Code Playgroud)
更多信息:https: //github.com/google/googletest/blob/master/googlemock/docs/CheatSheet.md#mocking-a-class-template
(不确定是删除还是离开?)