Я выполняю модульное тестирование производного класса и хочу EXPECT_CALL
, чтобы был вызван определенный метод, принадлежащий его базовому классу.
Например:
class Base {
public:
void move(int x, int y);
};
class Derived: public Base{
public:
RESULT update();
private:
int age;
};
HRESULT Derived::update(void) {
int param1 = 5, param2 = 10;
move(param1, param2);
age++;
return SUCCESS;
}
Я не могупросто создайте макет для Derived и ожидайте move
, так как нет никакой зависимости, и будет вызван фактический move ().
Как я могу иметь возможность смоделировать move()
?Моя конечная цель заключается в том, чтобы я ожидал, что move () будет вызываться со значениями параметра CORRECT (в данном случае param1 and param2
).
Конечно, это не фактический код, а просто представление
Я знаю, что это не очень хороший дизайн с точки зрения UT, но это для проверки некоего унаследованного кода, который мне не разрешено переформатировать (но нужно сделать UT).Поэтому возможность смоделировать и протестировать move () - лучший вариант, который у меня есть.
Помощь будет принята с благодарностью.Спасибо!