2013-08-13 7 views
4

Возможно ли, чтобы gmock издевался над функцией, которая содержит параметр шаблона класса в своей подписи? Например:Функция mock с параметром шаблона класса в сигнатуре

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

ответ

9

Я нашел ответ, вы должны обозначить имитировали методы именно как шаблон фиктивные методы с _T

template <typename T> 
struct MockMockable : Mockable<T> 
{ 
    MOCK_METHOD2_T(do_work, void(const int, const T&)); 
}; 

Больше информации: https://github.com/google/googletest/blob/master/googlemock/docs/CheatSheet.md#mocking-a-class-template

(не уверен, удалить или оставить это?)

 Смежные вопросы

  • Нет связанных вопросов^_^