Функция шаблона в аргументе функции вызова Expect в Hippomock

Я хочу изолировать writeMemory но я не могу из-за следующей ошибки:

../../Util/UnitTest++/../../UnitTests/KeeperDive_Test.h:66:57: ошибка: ожидаемое выражение mocks.ExpectCall (Skillmock, Skill :: writeMemory) .With (template (Skillmock));

class Skill
{
protected:
template <class T> void writeMemory(const char *key, T value)
{
PY_ERROR_TRY
{
skillMemory[key] = (T)value;
}
PY_ERROR_CATCH
}
};

TEST(run)
{
MockRepository mocks;
Skill *Skillmock = mocks.Mock<Skill>();
mocks.ExpectCall(Skillmock, Skill::writeMemory).With(template<class T>(Skillmock));
}

2

Решение

Вы не можете ожидать вызова метода шаблона — только для определенного экземпляра метода. В этом случае вы также не сможете смоделировать не виртуальный член класса, отчасти потому, что он не реализован, а в основном потому, что этот экземпляр в любом случае будет полностью встроенным и впоследствии не будет смоделирован.

0

Другие решения


По вопросам рекламы [email protected]