Подтвердить что ты не робот

Google mock: как я могу "EXPECT", чтобы ни один метод не вызывался на макет

Я хочу протестировать в случае какого-либо отказа, метод не будет вызван на макет объекта, используя mock. поэтому код будет примерно таким:

auto mocObj = new MockObj;
EXPECT_NO_METHOD_CALL(mocObj); //this is what I'm locking for

auto mainObj = new MainObj(mocObj , ......and other mocks); // here I simulate a fail using the other mock objects, and I want to be sure the no methods are called on the mockObj
4b9b3361

Ответ 1

Создайте StrictMock; любой неожиданный вызов метода будет неисправностью.

Ответ 2

Нет необходимости явно указывать, что никакие методы не будут вызваны. Если вы установили уровень ведения журнала достаточно высоким, вы должны получить сообщение, если вызывается метод (если ожидания не установлены).

Кроме того, вы можете установить ожидания следующим образом:

EXPECT_CALL( mockObj, Foo(_) ).Times(0);

для всех методов.

Ответ 3

Используйте Exactly (0) для всех ваших методов класса.

мощность будет установлена ​​равной нулю, поэтому вы не ожидаете никаких вызовов