c ++ googlemocks: получение трассировки стека неинициализированного вызова - PullRequest
6 голосов
/ 01 апреля 2011

Класс Mock выглядит следующим образом: struct MockClass { MOCK_METHOD0 (foo, void ()); }; * * Тысяча одна

Если я забуду установить ожидаемые вызовы для фиктивного объекта, я получу что-то вроде этого:

GMOCK WARNING:
Uninteresting mock function call - returning directly.
    Function call: foo()
Stack trace:

и трассировка стека пуста.

Итак, что нужно сделать, чтобы получить трассировку стека?

1 Ответ

9 голосов
/ 12 мая 2011

Это описано здесь :

Вы можете контролировать, сколько Google Mock говорит вам, используя --gmock_verbose = LEVEL флаг командной строки, где LEVEL - строка с три возможных значения:
1. info: Google Mock напечатает все информационные сообщения, предупреждения и ошибки (самые подробные). В этот настройки, Google Mock также будет регистрировать любые звонки на ON_CALL / EXPECT_CALL макросы.
2. предупреждение: Google Mock будет печатать как предупреждения, так и ошибки (меньше подробный). Это значение по умолчанию.
3. error: Google Mock будет печатать только ошибки (наименее подробные).

Кроме того, вы можете настроить значение этого флага изнутри вашего тесты вроде так:
::testing::FLAGS_gmock_verbose = "error";

Использование уровня предупреждения info приведет к выводу обратного следа

...