Я пытаюсь поправить тесты (Google Tests), которые писал не я, и у меня есть несколько вопросов, на которые я не смог найти ответы.
Вопросы следующие:
Каким механизмом Google Tests обнаруживает утечку макетного объекта?
Для чего нужна функция (предположительно, функция) testing::Mock::AllowLeak()?
Есть ли разница, передавать в ON_CALL() / EXPECT_CALL() сырой указатель или умный?
Буду очень благодарен за любую помощь, спасибо.
Там имеется глобальный реестр для таких объектов. Они заносятся в него при использовании, и убираются при разрушении. В деструкторе самого регистра подсчитываются утечки и печатается соотв. предупреждения. из исходников:
A global registry holding the state of all mock objects that are alive. A mock object is added to this registry the first time Mock::AllowLeak(), ON_CALL(), or EXPECT_CALL() is called on it. It is removed from the registry in the mock object's destructor.
class MockObjectRegistry
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости